函数原型如下:
- (ObjectType)objectForKey:(KeyType)aKey;
- (ObjectType)valueForKey:(NSString *)*key*;
objectForKey:
是一个NSDictionary
的方法。字典是类似NSArray的集合类,它不使用索引的方式检索元素,而是使用键获取和设置元素。字典中的键名必须不同。
valueForKey:
是KVC方法。它可以在任何类上工作,valueForKey:
可以用来访问属性。例如,如果我有一个账号类Account
,它有一个属性为accountNumber
,可以如下操作:
NSNumber *anAccountNumber = [NSNumber numberWithInt:12345];
Account *newAccount = [[Account alloc] init];
[newAccount setAccountNumber:anAccountNUmber];
NSNumber *anotherAccountNumber = [newAccount accountNumber];
通过使用KVC,可以动态访问此属性。
NSNumber *anAccountNumber = [NSNumber numberWithInt:12345];
Account *newAccount = [[Account alloc] init];
[newAccount setValue:anAccountNumber forKey:@"accountNumber"];
NSNumber *anotherAccountNumber = [newAccount valueForKey:@"accountNumber"];