KVC
2016-02-18 14:13
267 查看
全称:Key-value observing
用法:
@interface Book : NSObject @property (nonatomic, strong) NSString *bookName; @end @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) NSInteger age; @property (nonatomic, strong) Book *book; @end
类
#import <Foundation/Foundation.h> #import "Person.h" #import "Book.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc]init]; //类 [p setValue:@"张三" forKey:@"name"]; [p setValue:@"20" forKeyPath:@"age"]; Book *book = [[Book alloc]init]; p.book = book; [p setValue:@"算法导论" forKeyPath:@"book.bookName"]; NSLog(@"%@, %@ , bookName: %@",p.name,[p valueForKey:@"age"],p.book.bookName); //字典 book.bookName = @"数据结构"; NSDictionary *dict = @{@"name":@"李四",@"age":@"40",@"book":book}; [p setValuesForKeysWithDictionary:dict]; NSLog(@"%@, %@ , bookName: %@",p.name,[p valueForKey:@"age"],p.book.bookName); //数组 Person *p2 = [[Person alloc] init]; p2.name = @"yellow Mokey"; Person *p3 = [[Person alloc] init]; p3.name = @"red dog"; Person *p4 = [[Person alloc] init]; p4.name = @"green chicken"; NSArray *array = @[p2,p3,p4]; // 把三个对象中的name 取出来 NSArray *nameArray = [array valueForKeyPath:@"name"]; NSLog(@"%@",nameArray); } return 0; }
相关文章推荐
- ASP.NET MVC3中Controller与View之间的数据传递总结
- 网站优化之如何做好网站排名
- ios屏幕底部弹出提示
- 一台电脑同时运行多个tomcat
- 自定义菜单,带参数的跳转url
- 在sdwebimage中加载webp格式图片。
- Meteor在Windows下开发环境配置
- android 调用系统相机和相册
- The application could not be verified.
- 比较好的工作环境
- Java线程(篇外篇):线程本地变量ThreadLocal
- Mac环境下Myeclispe2015工具的安装与破解
- CURL使用2
- 使用批处理自动发布IIS站点,基于IIS7及以上
- JavaScript对象(来自百度知道)
- IIS发布mvc程序遇到的HTTP错误 403.14-Forbidden解决办法
- 博客新加入“扫码阅读”功能
- oracle 取小数位数
- freeRadius客户端和服务器分别安装实验
- 针对网站排名快速下降的解救方案