[NSMutableDictionary dictionaryWithDictionary:]和mutableCopy之间有区别吗?

Boo*_*oon 2 objective-c nsdictionary nsmutabledictionary

以下创建可变字典的方法有区别吗?

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:dict2];

NSMutableDictionary *dict = [dict2 mutableCopy]
Run Code Online (Sandbox Code Playgroud)

Mar*_*bri 8

如果dict2nil,[NSMutableDictionary dictionaryWithDictionary:dict2]将返回一个空字典[dict2 mutableCopy]并将返回nil.


das*_*ght 5

一个细微的区别是dictionaryWithDictionary:类方法返回一个自动释放的对象,而该mutableCopy方法返回一个保留的对象.如果您使用自动参考计数,则没有区别; 如果关闭ARC,则需要通过第二个片段releasedict获取的消息发送消息.