W celu C, jest najlepszym rozwiązaniem jest:Zadeklaruj właściwości w interfejsie .h lub w rozszerzeniu w pliku .m?
stwierdzenie przedmiotów, takich jak guziki w .h i następnie syntezy w .m
.h @interface SomeViewController : UIViewController @property (strong, nonatomic) UIButton *someButton; @end .m @implementation SomeViewController @synthesize someButton = _someButton; @end
lub zgłoszone jako Ivars w .m
@interface SomeViewController() @property (strong, nonatomic) UIButton *someButton; @end
Zauważyłem, że w partii kodu Apple specjalnie thei r Przykładowy kod tartej bułki, wiele ich właściwości jest deklarowanych w interfejsie. Czy istnieje różnica między tymi dwoma? Zauważyłem także, że gdy właściwości są zadeklarowane w @interface
, są automatycznie syntezowane z podkreślonym prefiksem, co czyni syntezę someButton = _someButton
bezużyteczną.
Obie te deklaracje są deklaracjami właściwości. Ivar jest tworzony przez '@ synthesize'. Działają identycznie; różnica polega na ich widoczności do innych plików. –