编码Objective-C的项目时,我有点困惑。 ARC已打开。下面是一个示例代码:的NSString和Objective-C内存管理ARC
这里是我的问题:
我需要显式地终止C字符串以“\ 0”
initWithUTF8String:
方法,或者它是好的省略NULL结束?当我重新使用
foo
作为指针并为其指定新的Objective-C字符串时,是否有任何内存泄漏?为什么?如果我改变
NSString
到其他类,如NSObject
还是我自己的类,是有问题的2有什么区别? (初始化一个对象,然后直接重新指定其他值。)
谢谢!
对于你的问题2:参见[这里](http://stackoverflow.com/questions/7071096/what-is-difference-between-mutable-and-immutable/36756871#36756871)基本上是有新指针创建 - 释放先前的指针。 – Honey
@Honey这是一个巧妙的把戏。只需用'%p'打印出实际的指针,一切都很清晰。 –