0

私は自分が持っているいくつかのサンプルコードを理解しようとしています。.hファイルでは、変数は次のように宣言されます

@property (readonly, nonatomic) NSString *username;
@property (readonly, nonatomic, unsafe_unretained) NSURL *avatarImageURL;

実装ファイル内

   @private
        NSString *_avatarImageURLString;
    }
   @synthesize username = _username;
- (id)initWithAttributes:(NSDictionary *)attributes {
    self = [super init];
    if (!self) {
        return nil;
    }
    _username = [attributes valueForKeyPath:@"username"];
    _avatarImageURLString = [attributes valueForKeyPath:@"avatar_image.url"];
    return self;
}

- (NSURL *)avatarImageURL {
    return [NSURL URLWithString:_avatarImageURLString];
}

_variableがクラス内の変数の規則であることは知っていますが、なぜこのように行われるのかはよくわかりません。ユーザー名を直接使用しないのはなぜですか?と呼ばれる別の変数を作成する理由。また、_avatarImageURLStringは私をさらに混乱させました。なぜ、_avatarImageURLStringと呼ばれる別のプロパティを作成するのであれば、avatarImageURLと呼ばれるプロパティを作成する必要があります...。

ありがとう!

4

2 に答える 2

0

人々は、作成した変数を xcode のものとは異なるものにし、それらをより単純で扱いやすくするためにそれを行いました...

しかし、以前ほど有用ではなくなったため、xCode はこの方法で変数を自動合成するようになりました。

例:

variable自動合成されると_variable

于 2013-02-14T16:43:27.727 に答える