2012-06-25 32 views
0

在啓用ARC的項目中,我可以在自己的地方使用什麼等效關鍵字? 例如: - [self mymethod];什麼是ARC等效的此方法調用?目標C ARC等於自我?

+0

對不起,你能解釋一下你是什麼意思?謝謝。 –

回答

0

它仍然是相同的

[self myMethod]; 

但在ARC環境,IIRC,你需要做的是這樣的:(我不不知道這是否是你問題的根源,但是當我第一次遷移到ARC時,如果我沒有這樣做,我會收到編譯錯誤)。

@interface myController() 
- (void)myMethod; // you need to declare the method here, if you haven't declared it on the .h 
@end 

@implementation 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self myMethod]; 
} 

- (void)myMethod 
{ 
    NSLog(@"!"); 
} 

@end 

希望這有助於

5

我不太明白嗎?爲什麼ARC應該對方法調用有不同的語法?這是一個自動內存管理,在大多數情況下,您不需要使用保留/釋放,僅此而已。所以它看起來像這樣:

[self mymethod]; 
+0

請注意,ARC不是一種垃圾收集器。這是一個編譯器功能!不涉及運行時魔術。 –

+2

我明白了,我實際上成功地設法不使用它,想知道我釋放的是什麼,爲什麼,什麼時候,所以我可能錯過了那個。我會糾正答案。 – oldtimer

1

在ARC(自動引用計數)中,您不需要釋放或保留。它與調用方法無關!

ARC--自動引用計數實現了Objective-C對象和塊的自動內存管理,使程序員免於需要顯式插入保留和釋放。由於這是在編譯時處理的,因此不需要收集器進程持續清除內存並刪除未引用的對象。

調用方法,你還做這種方式:[self mymethod];