【发布时间】:2015-06-23 19:59:13
【问题描述】:
在 NSString NSString Class Reference 这意味着什么
Distributed objects:
Over distributed-object connections, mutable string objects are passed by-reference and immutable string objects are passed by-copy.
而且 NSString 无法更改,所以当我在此代码中更改 str 时会发生什么
NSString *str = @"";
for (int i=0; i<1000; i++) {
str = [str stringByAppendingFormat:@"%d", i];
}
我会出现内存泄漏吗?还是什么?
【问题讨论】:
-
不,您的代码不会出现内存泄漏。
-
如果 str 获得新副本,那么旧副本将没有引用,所以我没有出现内存泄漏吗?
-
不,因为你没有保留那个对象,它是用方便的方法创建的,你不拥有它,将在下一个自动释放池周期释放。
-
@FahriAzimov 但如果我使用非 ARC 会怎样
-
如果你不使用 ARC,你会得到你应得的。
标签: ios objective-c nsstring