在使用NSMutableDictionary的時(shí)候經(jīng)常會(huì)使用setValue forKey與setObject forKey
兩者的區(qū)別
1, setObject:forkey:中value是不能夠?yàn)閚il的甚牲,不然會(huì)崩潰。
setValue:forKey:中value能夠?yàn)閚il,但是當(dāng)value為nil的時(shí)候,會(huì)自動(dòng)調(diào)用removeObject:forKey方法
2, setValue:forKey:中key的參數(shù)只能夠是NSString類型缺狠,而setObject:forKey:的可以是任何類型
上面說的區(qū)別是針對(duì) NSMutableDictionary 而言的
setObject:forKey:方法NSMutabledictionary特有的,而 setValue:forKey:方法是KVC(鍵-值編碼)的主要方法玩裙。
當(dāng) setValue:forKey:方法調(diào)用者是對(duì)象的時(shí)候:setValue:forKey:方法是在NSObject對(duì)象中創(chuàng)建的,也就是說所有的oc對(duì)象都有這個(gè)方法忍宋,所以可以用于任何類帝火。