一个小知识点,关于setValueForkey 和setObject ForKey

首先呢,

- (void)setValue:(id)value forKey:(NSString *)key 是NSObject的类目

- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey是NSMutableDictionary的方法

从后面的key的参数就能知道两者之间的区别。。。然后KVC里用前者比较多一点

然后就是valueForKey,objectForKey这两者之间有个小小的差别,以@开头的key,前者会帮你干掉@生成一个新的key,所以,要注意这点

 

如下 

 NSDictionary *dic=@{@"aaaa":@"@abc"};

    [dic valueForKey:@"@abc"];

这样会有问题滴,他会给你生成abc这个key,然后,发现词典里木有这个玩意,于是崩溃,当然这样写很少。。

 

另外这个主要是基于NSMutableDictionary的,所以总的来说,在用词典的时候用他自己的方法。即,object

 

 

 

posted @ 2014-04-25 11:58  NS的零之轨迹  阅读(652)  评论(0编辑  收藏  举报