почему ивару нужны в какао, когда они не нужны в iOS? - PullRequest
0 голосов
/ 03 июня 2011

Мне нравится способ iOS не указывать ivars, но я не знаю, возможно ли сделать то же самое в Какао или если это плохая идея.


Вот один и тот же код в Какао и iOS

// Cocoa
@interface Foobar : NSObject {
    NSString* m_name;
}
@property (nonatomic, retain) NSString* name;
@end

@implementation Foobar
@synthesize name = m_name;
@end

// iOS
@interface Foobar : NSObject {
    // no ivar here
}
@property (nonatomic, retain) NSString* name;
@end

@implementation Foobar
@synthesize name;
@end

1 Ответ

7 голосов
/ 03 июня 2011

Способность элидировать ивара требует «не хрупкого» времени выполнения Objective-C.32-разрядные версии Mac OS X используют «хрупкую» среду выполнения.Если вы ориентируетесь только на 64-битные системы, вы можете сделать это так же, как на iOS.

...