我一直在通過網絡搜索和閱讀很多帖子,但沒有人還沒有解釋我如何確切地工作。我知道,約定說,任何方法都必須返回一個自動釋放的對象(除ALLOC,新,複製和mutableCopy),所以這樣的事情是好的:內存管理什麼時候自動發佈返回值
-(MyClass*)findRandomName { return [[[MyClass alloc] initWithString:@"Something"] autorelease]; }
我的問題是,我應該也叫自動釋放的如果我使用便捷方法或類似的方法返回值?像這裏:
-(MyClass*)findRandomName { return [[MyClass startFromString:@"Something"] autorelease]; }
爲什麼,或者爲什麼不?先謝謝了。
在第一行代碼中調用'alloc'的位置在哪裏? – rmaddy
啊忘了,修好了。 – ArniDat