2011-03-09 27 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