ObjectForKey和ValueForKey的区别-ForKey?

ObjectForKey和ValueForKey的区别-ForKey?

.之间的区别是什么?objectForKeyvalueForKey?我查阅了这两份文件,它们在我看来是一样的。



斯蒂芬大帝
浏览 879回答 3
3回答

萧十郎

如前所述,objectForKey:数据类型:(id)aKey鉴于valueForKey:数据类型:(NSString *)key.例如: NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObject:@"123"],[NSNumber numberWithInteger:5], nil];  NSLog(@"objectForKey : --- %@",[dict objectForKey:[NSNumber numberWithInteger:5]]);       //This will work fine and prints (    123    )    NSLog(@"valueForKey  : --- %@",[dict valueForKey:[NSNumber numberWithInteger:5]]);      //it gives warning "Incompatible pointer types sending 'NSNumber *' to parameter of type 'NSString *'"   ---- This will crash on runtime.所以,valueForKey:将只接受一个字符串值,并且是一个kvc方法,而objectForKey:任何类型的物体。价值objectForKey将被同一类型的对象访问。
打开App,查看更多内容
随时随地看视频慕课网APP