我一直在网上搜索并阅读了很多帖子,但还没有人能解释我这到底是如何工作的。我知道约定说任何方法都必须返回一个自动释放的对象(alloc、new、copy 和 mutableCopy 除外),所以这样的事情很好:
-(MyClass*)findRandomName { return [[[MyClass alloc] initWithString:@"Something"] autorelease]; }
我的问题是,如果我使用便利方法或类似方法,我是否也应该在返回值上调用 autorelease?像这儿:
-(MyClass*)findRandomName { return [[MyClass startFromString:@"Something"] autorelease]; }
为什么,或者为什么不呢?提前致谢。