iPhone:实例变量的重新分配=释放?

标签 iphone objective-c

我有一个实例变量 NSMutableArray* searchResults。

首先,我初始化它:

self.searchResults = [[NSMutableArray alloc] init];

然后,在我的应用程序运行过程中,它经常被重新分配:

NSMutableArray* results = [searcher getResults];
self.searchResults = results;

我的问题是这是否会导致内存泄漏,因为它之前指向的数组在此重新分配期间可能不会被释放?我是否明确需要这样做:

NSMutableArray* results = [searcher getResults];
self.searchResults = nil;
self.searchResults = results;

当然是在dealloc中release,在viewDidUnload中设置为nil。

最佳答案

如果 @property 是用 retaincopy 声明的,并且它是由 @synthesize 创建的,那么是没有内存泄漏。如果不是这种情况,您可以拥有一个,具体取决于方法的实现。

关于iPhone:实例变量的重新分配=释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867363/

相关文章:

ios - 如何检测屏幕自动锁定是否启用

objective-c - 如何为类编写正确的描述方法?

iphone - 无法在 1 台设备上安装相同的应用程序

ios - 使用嵌套 ScrollView 时滚动获取 "stuck"

iphone - 在 iOS 4.3 模拟器上调试

ios - 我可以使用新的证书和配置文件在 iTunes Connect 上添加我的应用程序版本吗?

iphone - 如何增加iPhone表格 View 中单元格的高度?

iphone - iPhone 模拟器在哪里存储其数据?

objective-c - 适用于 iOS 的 NSNumericSearch 解决方案

iphone - iOS UIDatePicker时区问题