我尝试在 Xcode 中分配和释放可变数组
NSMutableArray *inventory = [[NSMutableArray alloc] init];
[inventory addObject:@"one"];
[inventory release];
有没有人帮我解释一下,为什么“库存”释放后,它仍然存储1个对象?
最佳答案
假设您在没有自动引用计数 (ARC) 的情况下工作:
当您释放一个对象时,这会将对象之前占用的内存标记为空闲。但是,它不一定会立即销毁该内存中的内容。
如果您尝试(不正确地)访问数组内存地址中的内容,您很可能会发现数组成员仍然在那里。但请注意,这并不安全,数组及其成员可以(并且将会)随时被覆盖。
您应该将 ARC 用于任何生产代码,以避免内存管理不善的危险。效果很好。
关于ios - Xcode 中的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352921/