korumak özelliklere sahip bir sınıfın şu tanımı göz önüne alındığında: Bu mülk neden 'korumaya' ihtiyaç duyuyor?
@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"];
}
Neden "korumak" initWithCoder yönteminde url özelliği ihtiyacı var:
-(id)initWithCoder:(NSCoder*)coder
{
url = [[coder decodeObjectForKey:@"url"] retain];
source = [coder decodeObjectForKey:@"source"];
NSLog(@"got url=%@\n", url);
return self;
}
Özellikle, neden sentezlenmiş yok " url "yöntemi nesneyi korumak? (Sanırım kaynak özelliği de bir muhafazaya ihtiyaç duyacaktır).
Gerçekten de! Bunun beni oldukça sık ısırdığını hissediyorum. Cevabın için teşekkürler. – Justicle
Benim için zevk. İlk başta alışmak biraz zaman alır. Bir süredir bunu yaptığınızda, ikinci doğa haline gelir :) –
Özel örnek değişkenlerde _ ön ekini kullanmaktan hoşlandığım nedenlerden biri, bir örnek değişken kullandığınızda bunu söylemeyi çok kolaylaştırır vs başka bir şey. –