10

Znalazłem interesujący post opisujący, jak w Objective-C 2.0 można zadeklarować zmienne instancji w pliku implementacji. Rozważmy następujący przykład:Cel C: ARC z IVars zadeklarowanym w pliku implementacyjnym

@interface MyClass {} 
@end 

@implementation MyClass {  
    NSObject *obj1; 
    NSObject *obj2; 
} 
@end 

Wskazówki te Ivars obj1 i obj2nie deklarowane właściwości. Ponieważ nie są one zadeklarowane za pomocą instrukcji @property, nie ma odpowiednich kwalifikatorów własności, takich jak weak/strong.

Moje pytanie brzmi: czy projekt korzystający z automatycznego liczenia referencji (ARC) pamięta o czyszczeniu obiektów zadeklarowanych w ten sposób? Wszelkie dokumenty odnoszące się do tej konkretnej kwestii zostałyby docenione.

Odpowiedz

15

Tak, domyślnie mają one przed sobą __strong. ARC poradzi sobie z nimi tak, jak można oczekiwać od silnej nieruchomości. Odpowiednią sekcją w dokumentach jest 4.4.1. Objects.