gpt4 book ai didi

iphone - Objective-C : Proper way to init an NSArray that is a @property

转载 作者:可可西里 更新时间:2023-11-01 03:05:38 25 4
gpt4 key购买 nike

我的类(class)有一个属性,它是一个 NSArray。我保留属性(property)。

我的问题是,在不泄漏和使保留计数过高的情况下将对象添加到该数组的正确方法是什么?

这是我正在使用的:

.h:

NSArray *foodLocations;

@property (nonatomic, retain) NSArray *foodLocations;

//我确保在我的 dealloc 中合成并释放该属性。

.m

- (void)viewDidLoad {
[super viewDidLoad];

NSArray *tempFood = [[NSArray alloc] initWithArray:[self returnOtherArray]];
self.foodLocations = tempFood;
[tempFood release];

}

这是正确的做法吗?

最佳答案

是的,这是正确的,也是我的首选方式,因为它使代码更具可读性。

您实际上是在分配一个临时数组,然后使用保留属性将其分配给您的属性,因此可以安全地释放它,因为您的属性现在“拥有”它。请记住,您仍然需要在 dealloc 方法中释放它。

您还可以初始化数组并将其分配给 View Controller init 方法中的属性,具体取决于您是否需要在 View 实际加载之前使用该属性(即如果您想读取的值推送 View Controller 之前的属性等...)

关于iphone - Objective-C : Proper way to init an NSArray that is a @property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5588693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com