Nic*_*ard 8 iphone objective-c nsarray ios
我班上有一个属性,这是一个NSArray.我保留了这个房产.
我的问题是,在不泄漏并使保留计数过高的情况下,将对象添加到该数组的正确方法是什么?
这就是我正在使用的:
.h:
NSArray *foodLocations;
@property (nonatomic, retain) NSArray *foodLocations;
Run Code Online (Sandbox Code Playgroud)
//我确保在dealloc中合成并释放属性.
.m
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *tempFood = [[NSArray alloc] initWithArray:[self returnOtherArray]];
self.foodLocations = tempFood;
[tempFood release];
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
是的,这是正确的,我喜欢这样做的方式,因为它使代码更具可读性.
您实际上是在分配一个临时数组,然后使用retain属性将其分配给您的属性,因此可以安全地将其解除分类,因为您的属性现在"拥有"它.请记住,您仍需要在dealloc方法中释放它.
您还可以初始化数组并将其分配给视图控制器init方法中的属性,具体取决于您是否需要在视图实际加载之前使用该属性(例如,如果您想在之前读取属性的值推动视图控制器等...)
| 归档时间: |
|
| 查看次数: |
10533 次 |
| 最近记录: |