【发布时间】:2011-03-03 05:49:30
【问题描述】:
假设我已经声明了一个这样的 NSString
NSString *myString = [[NSString alloc] initWithString:@"Never Heard"];
NSString *tempString;
tempString = myString;
[myString release];
我的问题是它为什么有效?如您所见,我没有为 tempString 分配。 因此,我认为没有必要发布它。但是如果我尝试分配和初始化 tempString,会报错。
NSString *myString = [[NSString alloc] initWithString:@"Never Heard"];
NSString *tempString = [[NSString alloc] init];
tempString = myString;
[myString release];
我使用 NSString 作为示例,但我实现了不同的类。我是 试图在这里强调内存分配是如何工作的。愿意澄清和解释吗?
【问题讨论】:
-
“但是如果我尝试分配和初始化 tempString,它会带来错误。”是什么意思?能否请您添加会导致错误的代码?
-
这是你班里的问题。
标签: objective-c pointers