1、Key-Value Coding (KVC)KVC,即是指NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个 addres...
分类:
其他好文 时间:
2015-07-15 22:20:00
阅读次数:
133
+ (instancetype)newWithDictionary:(NSDictionary *)dict
{
news *newOne = [self
new];
[newOne setValuesForKeysWithDictionary:dict];
return newOne;
}
如果使用KVC需要字典键值对和模型属性一一对应,但是重写下面方法,就...
分类:
其他好文 时间:
2015-07-14 13:37:50
阅读次数:
94
iOS KVC(Key-Value Coding)KVC是指NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性常见使用方法:
获取值valueForKey: 根据属性名取值
valueForKeyPath: 根据路径取值 ( 如:[person valueForKeyPath:@”car.price”] )
valueForUndefinedKey...
分类:
其他好文 时间:
2015-07-14 00:08:21
阅读次数:
162
KVO与KVC详解由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码KVC键值监听KVO键值编码KVC我们知道在C#中可以通过反射读写...
分类:
移动开发 时间:
2015-07-13 23:58:30
阅读次数:
605
1.本示例重点是UITableView的解析,UITableViewDataSource\UITableViewDelegate代理方法的使用2.第一步:解析plist文件 通过KVC把字典转化为模型,转化为实际的一组组联系人,而不是空牢牢的一组组数据(其实都是数据,呈现形式不同而已)。2.实现代理...
分类:
其他好文 时间:
2015-07-11 22:37:27
阅读次数:
248
按钮
自定义按钮:调整内部子控件的frame
方式1:实现titleRectForContentRect:和imageRectForContentRect:方法,分别返回titleLabel和imageView的frame
方式2:在layoutSubviews方法中设置
内边距
// 设置按钮内容的内边距(影响到imageView和titleLabel)
@property(nonatomic)...
分类:
移动开发 时间:
2015-07-10 23:45:21
阅读次数:
173
我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象。其实由于ObjC的语言特性,你根部不必进行任何操作就可以进行属性的动态读写,这种方式就是Key Value Coding(简称KVC)。KVC的操作方法由NSKeyValueCodi...
分类:
其他好文 时间:
2015-07-09 19:29:59
阅读次数:
144
使用KVC对person的属性进行赋值 [aperson setValue:@"yadong" forKey:@"name"];
[aperson setValue:@"man" forKey:@"sex"];
[aperson setValue:@23 forKey:@"age"]; NSLog(@"%@",[aperson valueForKey:@"name...
分类:
其他好文 时间:
2015-07-09 16:11:34
阅读次数:
80
Key Value Coding是cocoa的一个标准组成部分,它能让我们可以通过name(key)的方式访问属性,某些情况下极大地简化了代码,可称之为cocoa的大招。
如下的例子:
使用KVC的好处
不使用KVC
- (id)tableView:(NSTableView *)tableview
objectValueForTableColumn:(id)column row:(NS...
分类:
移动开发 时间:
2015-07-07 13:01:23
阅读次数:
179