Объявить свойства в .h интерфейсе или в расширении .m файла?

В Objective-C лучше всего:

Объявите объекты, такие как кнопки в .h, а затем синтезируйте в .m

.h
@interface SomeViewController : UIViewController  
  @property (strong, nonatomic) UIButton *someButton;  
@end

.m
@implementation SomeViewController  
  @synthesize someButton = _someButton;  
@end

или объявить их как ивары в .m

@interface SomeViewController ()  
  @property (strong, nonatomic) UIButton *someButton;  
@end  

Я заметил, что во многих кодах Apple, в частности, в примере кода Breadcrumbs, многие их свойства объявлены в интерфейсе. Есть ли разница между ними? Я также заметил, что когда свойства объявлены в@interfaceони автоматически синтезируются с префиксом подчеркивания, что делаетsomeButton = _someButton синтез бесполезен.

Ответы на вопрос(1)

Ваш ответ на вопрос