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-对,它们只是打字错误。删掉了。谢谢,我可以-但是对我的眼睛来说太难看了:)谢谢,我可以-但是对我的眼睛来说太难看了:)