na dobre hermetyzacji, przyzwoite Objective-C
programiści umieścić swoje private
Ivars w prywatnym extension
zadeklarowanej w głównym pliku wdrażania, tak:Dodaj Ivars w @implementation
// MyClass.m
@interface MyClass() {
float value;
}
@end
@implementation MyClass
@end
Ale ostatnio znalazłem prostszy sposób do ukrycia private
Ivars: Ivars mogą być zadeklarowane w bloku {}
następujące @implementation
coś takiego:
// MyClass.m
@implementation MyClass {
float value;
}
@end
jest to bardzo przydatne, gdy nie ma prywatnych metod, ale tylko private
ivars muszą być ukryte.
Jednak nie jestem pewien co do jego ważności składni. Czy ktokolwiek może potwierdzić lub unieważnić go z niektórymi odniesieniami kanonicznymi?
Link. : P – cHao
@ cHao tak jabłko zaktualizowało swoją strukturę linków w pewnym momencie i zepsuło wiele starych linków ze stanowisk SO. Irytujące co najmniej. – Brynjar
Oto zaktualizowany link: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/EncapsulatingData/EncapsulatingData.html - poszukaj podpozycji "Możesz definiować zmienne instancji bez właściwości" a w dół strony. – jowie