2012-05-05 16 views
11

Ben dealloc içinde bu yöntem çağrısı ile bir sınıf var:ARC'ye dönüştürürken -dealloc'taki kodu nereye koyarız?

- (void)dealloc { 

    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
    [super dealloc]; 
} 

keresinde sınıf ARC dönüştürmek bildirim merkezine kendimi çıkarıyoruz? ViewDidUnload içinde mi gitmeli? Bildirim, bir modal view denetleyicisinden gelen olayları dinlemek için kullanılır, bu yüzden bu kodu viewWillDisappear'a koyamıyorum.

cevap

19

dealloc ARC'de kalır, artık [super dealloc] numaralı telefonu aramamanız gerekir: derleyici kodu sizin için ekler. Ve tabii ki release numarasına yapılan tüm çağrılar dealloc (veya başka bir yerde) olarak yapılamaz.

- (void)dealloc { 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
    // [super dealloc]; <<== Compiler inserts this for you 
} 
İlgili konular