私は自分が持っているいくつかのサンプルコードを理解しようとしています。.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と呼ばれるプロパティを作成する必要があります...。
ありがとう!