前言: oc中实现的kvo观察者模式比较呆板,不支持block,运用runtime机制将其进行实现。详细实现步骤:一:给NSObject添加分类(添加相应的添加观察者,删除观察者的方法),这样凡是继承NSObject的类生成的对象都会拥有这两个方法。二:在添加观察者的方法中,检查本类是否有观察者想要...
分类:
其他好文 时间:
2015-11-20 19:17:21
阅读次数:
201
HMDataTool.h#import @interface HMDataTool : NSObject+ (instancetype)sharedDataTool;@endHMDataTool.m#import "HMDataTool.h"@implementation HMDataTool// ...
分类:
其他好文 时间:
2015-11-20 15:25:25
阅读次数:
89
KVC是键值编码,只要是继承了NSObject的对象都支持kvc,由于NSObject支持一个NSKeyValueCoding的非正式协议 [_receivedData setValue:@"moxue" forKey:@"name"];//修改值 [_receivedData valueForKe...
分类:
其他好文 时间:
2015-11-19 00:31:37
阅读次数:
222
一. 原理 对于任何继承了NSObject的对象,都有一个与之关联的整形变量,称为引用计数器;只有计数器的值为0的时候,OC就回收该对象,否则永不回收。 1. 创建对象时,如使用alloc ,new , copy,引用计数器的值为1 2. 当使用release方法释放时,计数器的值减1 3....
分类:
移动开发 时间:
2015-11-18 22:49:20
阅读次数:
183
#import /*** 分数类*/@interface HHFraction : NSObject { NSInteger _num; //分子 NSInteger _den; // 分母}/*** 初始化方法** @param num 分子* @param den 分母** @return...
分类:
其他好文 时间:
2015-11-18 19:42:47
阅读次数:
181
@interface NSFileManager : NSObjectNSFileManager操作:1.文件夹创建删除2.文件创建删除3.清除数据缓存以上办法都在这里:https://developer.apple.com/library/mac/documentation/FileManagem...
分类:
其他好文 时间:
2015-11-18 16:14:24
阅读次数:
144
1.ARC空声明变量 使用ARC的另一个优势是所有未初始化的变量默认都是“空值化”的。这意味着像下面这样的声明使用ARC编译后指向的是空值(nil): NSObject *myObject1,*myObjects2; 不过要注意的是,与其他高级编程语言不同,ARC不会自动将标量的值设置为零。 ...
分类:
移动开发 时间:
2015-11-16 17:08:32
阅读次数:
175
一、基本原理1.什么是内存管理移动设备的内存极其有限,每个app所能占用的内存是有限制的当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等管理范围:任何继承了NSObject的对象,对其他基本数据类型(int、char、floa...
分类:
其他好文 时间:
2015-11-16 12:15:09
阅读次数:
234
一、继承1.继承的基本用法l设计两个类Bird、Dog//Bird的声明@interfaceBird:NSObject{@publicintweight;}-(void)eat;@end//Bird的定义@implementationBird-(void)eat{NSLog(@"吃吃吃-体重:%d"...
分类:
其他好文 时间:
2015-11-16 12:03:10
阅读次数:
126
-?(void)addObserver:(NSObject?*)observer?forKeyPath:(NSString?*)keyPath?options:(NSKeyValueObservingOptions)options?context:(void?*)context; 第一个参数是观察者对象,负责处理监听事件;第二个是...
分类:
其他好文 时间:
2015-11-16 01:00:18
阅读次数:
297