2011-03-09 65 views
1

是两种方法Objective-C和上回自动释放

- (id) myFirstMethod 
{ 
    NSObject* anObject = [[NSObject alloc] init]; 
    [anObject autorelease]; 
    return anObject; 
} 

- (id) mySecondMethod 
{ 
    NSObject* anObject = [[NSObject alloc] init]; 
    return [anObject autorelease]; 
} 

相同?

+0

既不方法确实有效 - 围绕对象括号内是不正确的。 – Chuck 2011-03-09 10:07:02

+0

@Chuck - 对,他们只是拼写错误。已编辑。 – SK9 2011-03-09 10:25:09

回答

3

是的两种方法是相同的。无论何时在多行中编写嵌套函数或相同代码,编译后都完全相同。

1

是的,它们是相同的,但他们所做的只是导致编译器错误。

[anObject]是不允许的。而NSObject anObject也是无效的语法。

+0

这是我的错字。已编辑。 – SK9 2011-03-09 10:16:09

2

你可以在返回所做的一切:

- (id) myThirdMethod { 
    return [[[NSObject alloc]init]autorelease]; 
    } 
+0

谢谢,我可以 - 但我的眼睛太难看了:) – SK9 2011-03-09 10:15:04