iphone - 何时释放 NSDictionary 实例及其所有值?

标签 iphone cocoa memory-management memory-leaks nsdictionary

我有一个通过以下方式创建和初始化的字典

NSDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:N];
for (int index = 0; index < N; index++) {
    MyObject *obj = [[MyObject alloc] init];
    ...
    [dict setObject:obj forKey:index];
}

所以问题是 1. MyObject 实例是否应该创建为自动释放? 2.一旦我需要释放 NSDictionary 实例,我是否也应该释放所有 MyObject 实例(如果它们不是作为自动释放创建的)

最佳答案

您可以在调用 setObject 后显式释放 MyObject 实例,因为此时它们将被保留。您可以自动释放 MyObject 实例,但显式释放会更有效。释放 NSDictionary 实例将会释放 MyObject 实例。

关于iphone - 何时释放 NSDictionary 实例及其所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249369/

相关文章:

ios - 从自定义类管理 NSURLSession 的完成处理程序

swift - 如何在 cocoa 中转换 NSImageView?

multithreading - cocoa 停止按钮

objective-c - 如何在 Interface Builder 中编辑 NSTextView?

python - append Python的内存效率.txt

java - 指定使用引用初始化类和不使用引用初始化类之间的区别

c++ - 下面这段代码会把内存分配到哪里?

iPhone SDK : Non-transparent subviews in transparent view

iphone - 使用 Storyboard以编程方式设置 UITabBarItem 图标?

iphone - 如何在 map 中单击按钮时添加用户设计的叠加层