iOS NSMutableDictionary setValue和setObject

在处理字典crash的问题的时候遇到了这个情况,在没有交换方法的时候字典一直不crash查阅了一部分资料发现了一些有趣的东西。


setValue

调用该方法的时候字典里面传nil不会蹦


setObject

调用这个方法的时候就会崩溃

其原因是系统已经在setValue方法里面已经处理了


系统setValue

当你传入nil的时候系统会调用removeObjectForKey方法

注:1.NSDictionary没有removeObjectForKey方法使用该方法还是crash

       2.如果传入 [NSNull null]是都不会crash(具体请去看nil,NSNull,NULL这几个的区别)

    

你可能感兴趣的:(iOS NSMutableDictionary setValue和setObject)