如果我有这一守则,我会这样做。
NSString *postData = [@"foo=" stringByAppendingString:fooText.text];
...
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
...
[postData release]; //this causes crash
[request release]; //this causes crash
现在我的理解是:,根据 Apple文件采取特定行为。 现在,如果删除释放代码,坠毁就没有发生,但我发现,记忆中漏掉了索要的路。 因此,我重新制定法典
NSString *postData;
//postData = [NSString alloc]; // this line commented out since OP
postData = [@"foo=" stringByAppendingString:fooText.text];
...
NSMutableURLRequest *request;
request = [NSMutableURLRequest alloc];
request = [request initWithURL:url];
...
[postData release]; //this still crashes #
[request release]; //this works fine
我不明白为什么它会坠毁。 这里是否有任何建议的最佳做法? 我认为,我必须失踪,因为我常常看到释放的短手方法(例如,Kochan,“目标-C”中的方案),但 Apple果说这是错误的。