Widziałem przykłady kodu (z książki Początek rozwoju iPhone 4), w których obie deklarują ivars wewnątrz bloku interfejsu, a następnie deklarują właściwości dla tego samego. W ten sposób:Objective-c nowoczesne środowisko wykonawcze używające zarówno właściwości i ivars w bloku interfejsu
@interface ViewController : UIViewController {
UITableView *table;
}
@property (nonatomic, retain) IBOutlet UITableView *table;
Jaki byłby cel/korzyść z tego? Rozumiem, że przy nowoczesnej wersji środowiska wykonawczego (iPhone i 64-bitowe aplikacje OS X) wystarczy zadeklarować właściwości i można pominąć deklarując ivars wewnątrz bloku interfejsu. Zgodnie z odpowiedzią this w wątku similair będzie to do celów debugowania. Ale czy istnieją jakieś inne zalety oprócz debugowania, które można zastosować to podejście?
Cheers,
Peter
Nie ma potrzeby deklarowania jawaru, aby nadać mu inną nazwę niż własność. '@synthesize foo = _foo;' deklaruje nazwę niejawnie. –