0

実装ファイルでは、すべてのプロパティがプライベートとして示されています。
これらの違いは何ですか:

  1. MyObj.m

@interface MyObj ()

@property (nonatomic, strong) NSString *name;

@end

@implementation MyObj

@synthesize name = _name;

// Some other codes to use "name" like self.name or _name

@end


2. MyObj.m


@implementation MyObj
{
    NSString *_name;
}

// Some other codes to use _name

@end
4

2 に答える 2

3

最初の例では、作成されたアクセサーを取得します

- (NSString *)name;
- (void)setName:(NSString *)name;

また、Xcode の新しいバージョンでは、@synthesizeが暗黙的であることに注意してください。

2 番目の例では、ivar を作成しただけです。

特別なケースがない限り、通常はアクセサーを使用することをお勧めします。これにより、将来の柔軟性が向上します。

于 2012-10-21T10:28:53.433 に答える