[ios]kvc
KVC,即:Key-value coding,它是一種使用字符串標識符,間接訪問對象屬性的機制,它是很多技術的基礎。
主要的方法就兩個,setValue:forKey,valueForKey
在Programming Guide中說,使用KVC可以簡化代碼,但事實上使用起來,還是要看具體情況。
代碼實例:
1.首先定義兩個DataModel,這種DataModel定義是無法訪問屬性的
?
@interface?BookData?:?NSObject?{??????NSString?*?bookName;??
????float?price;??
????AuthorData?*?author;??
}??
@end??
@implementation?BookData??
@end??
?
@interface?AuthorData?:?NSObject?{??
????NSString?*?name;??
}??
@end??
@implementation?AuthorData??
@end??
2.使用KVC
?
?
BookData?*?book1?=?[[BookData?alloc]?init];??
[book1?setValue:@"english"?forKey:@"bookName"];??
[book1?setValue:@"20.0"?forKey:@"price"];??
AuthorData?*?author1?=?[[AuthorData?alloc]?init];??
[author1?setValue:@"tom"?forKey:@"name"];??
[book1?setValue:author1?forKey:@"author"];??
??
NSLog(@"value=%@",[book1?valueForKey:@"bookName"]);??
NSLog(@"price=%f",[[book1?valueForKey:@"price"]?floatValue]);??
NSLog(@"author=%@",[book1?valueForKeyPath:@"author.name"]);??
[book1?release];??
轉載于:https://www.cnblogs.com/jinjiantong/archive/2013/03/26/2982012.html
總結
- 上一篇: 我的log4j与logback简易配置
- 下一篇: c语言—变量