obc学习笔记5

并发性:

同步:

@synchronized(mutex,atomic){
//do
}

调度队列:
连续队列:FIFO,按顺序执行,管理内存 dispatch_queue_create
并发队列:FIFO,不要管理内存 dispatch_get_global_queue
主队列:同步方式,dispatch_get_main_queue

操作队列:
1.创建操作:NSInvocationOperation,NSBlockOperation,NSOperation的子类;
2.向队列中添加操作:NSOperation类的实例方法addOperation:或addOperationWithBlock:

文件加载与保存:

属性列表类:NSArray,NSDictionary,NSString,NSNumber,NSDate,NSData

NSDate:

NSDate *date1=[NSDate date];//当前日期
NSDate *date2=[NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];//与当前时间间隔的日期

NSData:

const char *string = "Hi there, this is a C string!";
NSData *data = [NSData dataWithBytes: string length: strlen(string) + 1];
[data lenth];//获取长度
[data bytes];//字符串起始位置指针

写入和读取属性列表:

[phrase writeToFile: @""  atomically: YES];//写到文件(覆盖)
NSArray *phrase2 = [NSArray arrayWithContentsOfFile: @""];//从文件读出

编码对象:

@protocal NSCoding
- encodeWithCoder://实现这两个方法,实现对象与NSData的转换
- initWithCoder:
@end

并使用NSKeyedArchiver把对象归档到NSData中

 + archivedDataWithRootObject
 + unarchiveObjectWithData

KVC:

KVC可以实现自动装、开箱:取值时把标量放入对象,设值时从对象中取出标量,还可以实现NSString与NSNumber之间的自动转换。

 - valueForKey://先查找-key或-isKey的getter方法,再找_key或key的实例变量,对象是数组时作用于所有元素
 - setValue:forKey://先查找-setKey的setter方法,再找_key或key的实例变量,设置标量值要先装箱

 //键路径
 - valueForKeyPath:
 - setValue:forKeyPath: 
 @"engine.horsepower":成员变量engine的成员变量horsepower

 //整体操作
 @"tires.pressure":成员变量tires数组中每个对象的pressure

 //快速运算,自动遍历数组
 @"cars.@count"
 @"cars.@sum.mileage"
 @"cars.@avg.mileage"
 @"cars.@min.mileage"
 @"cars.@max.mileage"
 @"cars.@distinctUnionOfObjects.make"

 //批处理
 - dictionaryWithValuesForKey://从key数组获取字典
 - setValuesForKeysWithDictionary://根据字典给key设值

 //nil
 -setNilValueForKey://重写此方法,即可用nil进行赋值
 -setValue:forUndefinedKey://重写此方法,处理未定义的键
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值