随笔分类 - OC
摘要:OC 类簇与复合 类簇: 类簇是Foundation框架中广泛使用的设计模式。类簇将一些私有的、具体的子类组合在一个公共的、抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不减少功能的丰富性。 简单的来说,NSString是个“工厂类”,然后它在外层提供了很多方法接口,但是
阅读全文
摘要:OC 类别与扩展(匿名类别) 类别(Categroy): 又称为扩展类,在类的原基础上扩展方法,且不可添加变量,如果扩展的方法与原始类中的方法相同,则会隐藏原始方法,且不可在扩展方法中通过super调用原始方法,这里与继承不同。 类别文件名 = 原类名 + 类别名 类别的格式: @interface
阅读全文
摘要:OC import和@class的用法和区别 1. import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。 2. 在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部
阅读全文
摘要:OC 协议 概念:定义了一个接口,其他类负责来实现这些接口。如果你的类实现了一个协议的方法时,则说该类遵循此协议。 非正式协议:非正式协议虽名为协议,但实际上是挂于NSObject上的未实现分类(Unimplemented Category)的一种称谓。 协议的格式: 协议中定义的方法还有两个修饰符
阅读全文
摘要:OC KVC KVC 全称 key valued coding 键值编码 在说KVC之前应该简单的了解一下反射机制 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意一个对象,都能够调用它的任意一个方法和属性. JAVA,C 都有这个机制. ObjC也有,所以你根部
阅读全文
摘要:OC NSFileHandle(文件内容操作) 初始化 读到文件尾部 根据偏移量读取文件内容 写入文件 设置文件偏移量 定位到文件尾 获取文件偏移量 截取文件的长度 关闭文件 ` `
阅读全文
摘要:OC 单例模式 概念 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 书写步骤 1. 创建
阅读全文
摘要:OC load与initialize load + 当类被引用进程序的时候会执行这个函数 + 一个类的load方法不用写明[super load],父类就会收到调用,并且在子类之前。 + Category的load也会收到调用,但顺序上在主类的load调用之后。 initialize + initi
阅读全文
摘要:OC 观察者模式(通知中心,KVO) 什么是观察者模式??? A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化。这就是观察者模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们
阅读全文
摘要:iOS 为什么app都是异步编程 对本文题目首先需要了解一下什么是异步编程,异步编程即多线程编程. 多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。 在具体理解多线程之前先看一个都理解的例子: 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序
阅读全文
摘要:OC NSFileManager(文件路径操作) 初始化 获取当前目录 更改当前目录 创建新目录 拷贝目录(文件) 移动目录(文件) 删除目录(文件 通过递归枚举目录下所有文件及目录 获取当前目录下的文件及目录 创建文件 判断文件是否存在 获取文件属性 从文件读二进制流 ` `
阅读全文
摘要:OC NSDictionary NSDictionary初始化 通过key值获取value值 获取字典中所有的key值 获取字典中所有的value值 一种value找出所有对应的key值 key的枚举器 block的枚举 NSMutableDictionary 初始化 给字典添加或修改内容 删除字典
阅读全文
摘要:OC NSSet 数组的特点: 有序的 Set的特点: 无序的,存储元素无重复(例:set中有两个元素'a' 输出时只输出一个a) NSSet初始化 获取NSSet中任意对象 是否包含某对象 是否有相同元素 NSMutableSet用法 NSMutableSet初始化 追加删除和NSMutableA
阅读全文
摘要:OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作。 NSNumber包装类 普通初始化 字面量初始化 变量初始化 NSNumber转基本数据类型 NSValue包装类 ` `
阅读全文
摘要:OC NSArray 数组 NSArray常用方法 获取数组中第一位元素 获取数组中最后一个元素 获取数组中指定索引下标的元素 字面量的写法 判断数组中是否包含某一项 如果要判断自定义类的数组中是否包含某一项需要重写该类的 (BOOL)isEqual:(id)object方法。 数组的快速枚举 数组
阅读全文
摘要:OC NSString(字符串) 多行文字字面量 NSRange的使用 常用方法 在A字符串中查找B字符串,返回B字符串在A中的位置 NSCaseInsensitiveSearch 忽略大小写 不可变字符串常用方法 带占位符的拼接字符串方法 stringByAppendingFormat 拼接字符串
阅读全文
摘要:OC 内存管理 iOS内存管理方式 + ARC Automatic Reference Counting 自动引用计数 + MRC Manual Reference Counting 手动引用计数 更改管理方式 (图片)  内存管理的问题 + 内存泄露:不再需要的对象没有释放。 + 野指针:正在使
阅读全文
摘要:OC 动态类型,动态绑定,动态加载 Objective C具有相当多的动态特性,基本的,也是经常被提到和用到的有 + 动态类型(Dynamic typing) + 动态绑定(Dynamic binding) + 动态加载(Dynamic loading) 动态类型:程序直到执行时才能确定所属的类。
阅读全文
摘要:OC 多态 多态的概念 + 没有继承,就没有多态 + 不同类的对象能够定义相同名称的方法 + 当父类对象的指针或引用指向子类对象时,会进行动态监测,调用真实的方法 + C++只有虚函数才能实现多态,OC中所有方法都可以 多态的局限性 父类类型的对象不能直接调用子类对象特有的方法,如果必须要调用,则必
阅读全文
摘要:OC self = [super init] , 点语法 , @property 构造方法为啥这么写? self = [super init]; [super init] 的结果可能有三种: 第一种: [super init] 初始化成功,这个是最最正常的情况。 第二种: [super init]
阅读全文

浙公网安备 33010602011771号