什么时候释放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实例

最新更新