我有一个AudioInfo类,其中包含一些NSString对象。

main()中,我创建(分配)一些AudioInfo对象。

稍后在main()中,我要使第二个AudioInfo对象具有相同的NSString对象。

我从第一个开始使用init从第二个开始。

题:

创建(分配)第二个对象后,是否应该保留第一个NSStrings对象使它们的保留计数都为1?

最佳答案

在这种情况下,AudioInfo应该仅将字符串属性copy设置为其ivars(默认情况下,您应该声明NSString属性copy),并且每个实例将管理自己的引用。然后,在使用完AudioInfo实例后,再释放它们。这里的所有都是它的。

关于objective-c - 内存管理( objective-c ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11356481/

10-12 06:15