gpt4 book ai didi

objective-c - 了解 cocoa 内存

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:51 25 4
gpt4 key购买 nike

这样做的好处是什么:

NSArray *array = [[NSArray alloc] initWithObjects:@"Year", "@Capital", ..., nil];
self.hintArray = array;
[array release];

而不是像这样直接分配给我的类变量:

self.hintArray = [[NSArray alloc] initWithObjects:@"Year", "@Capital", ..., nil];

为什么我们要创建一个临时本地对象然后释放它而不是仅仅分配给我们的类变量?

最佳答案

其他人已经指出了内存问题,但这是一步完成的最佳方法:

self.hintArray = [NSArray arrayWithObjects:@"Year", "@Capital", ..., nil];

方便的类方法+arrayWithObjects 返回一个已经被自动释放的数组,所以你根本不需要再担心它了。您的属性(property)访问者将负责复制或保留它。 (当然,假设您的 hintArray 属性设置为 retaincopy 属性)。

关于objective-c - 了解 cocoa 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1368914/

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