我想用的方法(将writeToFile)仅可用于的NSDictionary到的NSMutableDictionary对象。那么,如何将此NSMutableDictionary对象转换为NSDictionary?如何在NSMutableDictionary上使用writeToFile方法?
9
A
回答
14
NSMutableDictionary继承自NSDictionary。所以,writeToFile应该可用于这两个类。
7
的NSMutableDictionary是NSDictionary中的一个子类,所以将writeToFile方法应该适用于你的对象,而无需做任何铸造或转换。
6
正如已经在这里讨论:
How to save a NSMutableDictionary into a file in documents?
你并不需要将其转换。
但是,如果您真的想要,只需在您的NSMutableDictionary
或dictionaryWithDictionary:
方法NSDictionary
上使用copy
方法。两者均提供NSMutableDictionary
的NSDictionary
。
3
NSMutableDictionary is NSDictionary,因为它是一个子类。通常,子类与其超类的关系称为:“是a”。
13
对于那些来这里真正寻找的转换从的NSMutableDictionary到的NSDictionary:
NSMutableDictionary *mutableDict = [[[NSDictionary alloc] initWithObjectsAndKeys:
@"value", @"key"] mutableCopy];
NSDictionary *dict = [NSDictionary dictionaryWithDictionary:mutableDict]; //there you have it
1
为了解决实际问题的标题,而不是内容(因为我搜索了这个Q)实际上你可以依靠copyWithZone:
得到下到一个不可变的词典。
NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
mutableDict[@"key"] = @"value";
NSDictionary *immutableDict = [mutableDict copy];
相关问题
- 1. 如何在PolymerFire上使用onDisconnect方法?
- 2. iOS - NSMutableDictionary writeToFile返回YES,但plist没有修改
- 3. writeToFile
- 4. 如何使用WritetoFile将值存储在NSArray中?
- 5. 如何在Firebase中使用writeToFile处理超出最大尺寸?
- 6. 如何使用NSMutableDictionary更改数据?
- 7. 如何dealloc NSMutableDictionary
- 8. 操作无法将writeToFile
- 9. 问题路过的NSMutableDictionary的方法
- 10. 从另一种方法编辑NSMutableDictionary
- 11. 如何在使用TPL时在UI线程上调用方法?
- 12. 如何搜索NSMutableDictionary
- 13. 如何更新NSMutableDictionary?
- 14. 如何在对象上调用'!='方法?
- 15. 如何使用RSpec在已存在的控制器方法上存根方法?
- 16. NSDictionary writeToFile
- 17. writeToFile如何知道它何时完成
- 18. 如何使用Reflection API在对象上调用方法?
- 19. 如何调用onmousedown事件在Windows上的方法使用C#
- 20. 如何使用HTTPWebRequest在Web服务上调用Web方法?
- 21. 如何使用整数值作为'key'在NSMutableDictionary中设置值?
- 22. 无法从的NSMutableDictionary
- 23. objective-c writeToFile不在iPad上,在模拟器上
- 24. writeToFile在iphone上失败,但在模拟器上工作
- 25. 可重复使用的NSMutableDictionary
- 26. 是否可以在NSMutableDictionary上使用快速枚举?
- 27. Rails:如何在任意索引上使用find方法
- 28. 如何在上下文外使用Html.Action()方法
- 29. 如何在Asp.Net母版页上使用POST方法?
- 30. 如何在一个行上的多个变量使用方法