概述 代理模式是一种消息传递方式,一个完整的代理模式包括:委托对象、代理对象和协议。 名词解释 协议:用来指定代理双方可以做什么,必须做什么。 委托对象:根据协议指定代理对象...
概述 代理模式是一种消息传递方式,一个完整的代理模式包括:委托对象、代理对象和协议。 名词解释 协议:用来指定代理双方可以做什么,必须做什么。 委托对象:根据协议指定代理对象...
在iOS开发中,Protocol是一种经常用到的设计模式,苹果的系统框架中也普遍用到了这种方式,比如UITableView中的 ,以及<NSCopying>、<NSObjec...
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。 Runtime介绍...
浅拷贝就是拷贝后,并没有进行真正的复制,而是复制的对象和原对象都指向同一个地址 深拷贝是真正的复制了一份,复制的对象指向了新的地址 从上图可以看出,浅拷贝A指针改变了所指向的...
所谓多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处...
一、performSelector调用和直接调用区别 下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天...
原文链接深入理解GCD之dispatch_semaphore 再研究完dispatch_queue之后,本来是打算进入到dispath_group的源码,但是dispath_...
在开发中,我们很容易遇到这样的需求,需要我们同时做多个网络请求,所有网络请求都完成后才能进行下一步的操作。如下载多个图片,下载完了才能展示。 今天我们就来研究一下这个问题的解...
说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 一. iO...
Keychain 介绍 Keychain Services 是 OS X 和 iOS 都提供一种安全地存储敏感信息的工具,比如,存储用户ID,密码,和证书等。存储这些信息可以...
计时器是一种很方便也很有用的对象, Foundation 框架中有一个类叫做 NSTimer ,开发者可以指定绝对的日期与时间,以便到时执行任务, 也可以指定执行任务的相对延...
精简 initialize 与 load 实现代码 有时候,类必须先执行某些初始化操作,然后才能正常使用,在 OC 中,绝大部分类都继承自 NSObject 这个根类,而该类...
构建缓存时选用 NSCache 开发 Mac OS X 或 iOS 应用程序时,经常会遇到一个问题,那就是从网上下载的图片应如何来缓存,NSCache 类就是 Foundat...
用前缀避免命名空间冲突 OC 没有其他语言那种内置的命名空间机制, 鉴于此, 我们在其名时要设法避免潜在的命名冲突. 避免此问题的唯一办法就是变相实现命名空间, 为所有名称都...
提供 ' 全能初始化方法 ' 所有对象均瑶初始化, 在初始化时, 有些对象可能无需开发者想起提供额外信息. 不过一般还是要提供的. 我们把这种可为对象提供必要信息以便完成工作...
以 '类族模式' 隐藏实现细节 '类族' 是一种很有用的模式 (也叫做 '类别方法'), 可以隐藏 '抽象基类 ' 背后的实现细节, OC 的系统框架 UIKit 中有一个名...
用枚举表示状态. 选项. 状态码 例如: enum AAAAAA{ aaaaaa, bbbbbb, ccccccc }; 枚举只是一种常量的命名方式, 编辑器回味枚举分配一个...
多用字面量语法, 少用预知等价的方法 // 字面量数值, 有时候要把证书. 浮点数 . 布尔值 封入 OC 对象中, 这种情况下可以用 NSNumber 类, 该类可以处理多...