我有一个字典,它是以下列方式创建和初始化的
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实例(如果它们不是作为自动释放创建的)
答案 0 :(得分:2)
您可以在调用setObject后显式释放MyObject实例,因为它们将在该点保留。您可以自动释放MyObject实例,但显式释放将更有效。释放NSDictionary实例将释放MyObject实例。