5
는 유지 특성을 가진 클래스의 다음과 같은 정의를 감안할 때 : 왜이 속성에는 '보유'가 필요합니까?
@interface FeedEntry : NSObject<NSCoding>
{
NSURL* url;
NSData* source;
}
@property (retain) NSURL* url;
@property (retain) NSData* source;
@end
@implementation FeedEntry
@synthesize url;
@synthesize source;
-(void)encodeWithCoder:(NSCoder*)coder
{
[coder encodeObject:url forKey:@"url"];
[coder encodeObject:source forKey:@"source"];
}
가 왜 "유지"initWithCoder 방법의 url 속성이 필요 않습니다
-(id)initWithCoder:(NSCoder*)coder
{
url = [[coder decodeObjectForKey:@"url"] retain];
source = [coder decodeObjectForKey:@"source"];
NSLog(@"got url=%@\n", url);
return self;
}
특히, 왜 합성하지 않습니다 " get url "메소드는 객체를 유지합니까? (나는 소스 속성이 유지를 필요로 함을 추측하고있다.)
실제로! 나는 이것이 나를 꽤 자주 물릴 것 같은 느낌이 든다. 답장을 보내 주셔서 감사합니다. – Justicle
내 기쁨. 처음에는 익숙해 져야합니다. 일단 잠시 그것을 해왔다면 두 번째 성격이됩니다 :) –
개인 인스턴스 변수에 _ 접두사를 사용하는 이유 중 하나이기 때문에 인스턴스 변수를 사용할 때 매우 쉽게 알 수 있습니다 다른 건요? –