Objective-C和返回时自动释放
这两种方法是什么Objective-C和返回时自动释放,objective-c,autorelease,Objective C,Autorelease,这两种方法是什么 - (id) myFirstMethod { NSObject* anObject = [[NSObject alloc] init]; [anObject autorelease]; return anObject; } - (id) mySecondMethod { NSObject* anObject = [[NSObject alloc] init]; return [anObject autorelease]; } 相同?是的,两种方法都相同。
- (id) myFirstMethod
{
NSObject* anObject = [[NSObject alloc] init];
[anObject autorelease];
return anObject;
}
- (id) mySecondMethod
{
NSObject* anObject = [[NSObject alloc] init];
return [anObject autorelease];
}
相同?是的,两种方法都相同。无论何时在多行中编写嵌套函数或相同代码,编译后都是一样的。是的,这两种方法是相同的。无论何时在多行中编写嵌套函数或同一代码,编译后都是一样的。是的,它们是相同的,但它们所做的只是导致编译器错误
[anObject]
是不允许的。而且NSObject anObject
也是无效语法。是的,它们是相同的,但它们所做的只是导致编译器错误
[anObject]
是不允许的。而且NSObject anObject
也是无效语法。您可以在返回中执行所有操作:
- (id) myThirdMethod {
return [[[NSObject alloc]init]autorelease];
}
作为回报,你可以做任何事情:
- (id) myThirdMethod {
return [[[NSObject alloc]init]autorelease];
}
这两种方法实际上都无效-对象周围的括号不正确。@Chuck-对,它们只是打字错误。已编辑。两种方法都无效-对象周围的括号不正确。@Chuck-对,它们只是打字错误。删掉了。谢谢,我可以-但是对我的眼睛来说太难看了:)谢谢,我可以-但是对我的眼睛来说太难看了:)