【发布时间】:2011-09-12 11:07:53
【问题描述】:
我正试图向一位朋友解释 iOS 上的内存管理,但我向他展示了一个错误的代码。但是当我启动该应用程序时,它正在工作,我不知道为什么。 这是sn-p:
NSString *myString = [[NSString alloc] initWithString:@"myString"];
[myString release];
NSLog(@"%@",myString);
我不明白为什么我的 NSLog 工作... 你有什么解释吗?
谢谢!
【问题讨论】:
-
不这么认为。当您使用 init 关键字时,您直接拥有该对象。如果你想要一个自动释放,你必须写:stringWithString:
-
从概念上讲,你是对的。在内部,这不是我在该问题的已接受答案的 cmets 中解释的那样。
-
哦,抱歉,我没有看到它是一个链接 :) 谢谢!
-
想一想,您的问题与其他问题相关,而不是完全重复。很抱歉投票结束。
标签: objective-c nsstring