В Objective-C лучше всего:
Объявляйте такие объекты, как кнопки, в .h, а затем синтезируйте в .m
.h @interface SomeViewController : UIViewController @property (strong, nonatomic) UIButton *someButton; @end .m @implementation SomeViewController @synthesize someButton = _someButton; @end
или объявить их как ivars в .m
@interface SomeViewController () @property (strong, nonatomic) UIButton *someButton; @end
Я заметил, что во многих кодах Apple, особенно в их примере кода Breadcrumbs, многие свойства объявлены в интерфейсе. Есть ли разница между ними? Я также заметил, что когда свойства объявляются в @interface
, они автоматически синтезируются с префиксом подчеркивания, что делает синтез someButton = _someButton
бесполезным.
@synthesize
. Они функционируют одинаково; разница заключается в их видимости для других файлов. - person jscs   schedule 03.01.2013