Следующие коды разбились:
@interface AppDelegate (PrivateMethods)
@property (nonatomic, strong) NSString * name;
@end
@implementation AppDelegate
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.name = @"foobar";
...
Ошибка:
'-[AppDelegate setName:]: unrecognized selector sent to instance 0x6d73df0'
Когда я меняюсь
@interface AppDelegate (PrivateMethods)
to
@interface AppDelegate ()
Тогда все в порядке, в чем может быть причина?
Обновление: как указано ниже, поскольку я должен использовать расширение класса для этой цели, теперь возникает вопрос: допустимо ли использование расширения класса для объявления частных методов?
e.g.
@interface AppDelegate ()
- (void) start;
@property (nonatomic, strong) NSString * name;
@end