बनाए रखने के गुणों के साथ एक वर्ग के निम्नलिखित परिभाषा को देखते हुए:इस संपत्ति को 'बनाए रखने' की आवश्यकता क्यों है?
@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 विधि में यूआरएल संपत्ति "बनाए रखने" की जरूरत है:
-(id)initWithCoder:(NSCoder*)coder
{
url = [[coder decodeObjectForKey:@"url"] retain];
source = [coder decodeObjectForKey:@"source"];
NSLog(@"got url=%@\n", url);
return self;
}
विशेष रूप से, क्यों संश्लेषित नहीं है " यूआरएल प्राप्त करें "विधि वस्तु को बनाए रखें? (मैं अनुमान लगा रहा हूं कि स्रोत संपत्ति को भी बनाए रखने की आवश्यकता होगी)।
दरअसल! मुझे एहसास है कि यह मुझे काफी बार काटने जा रहा है। आपके जवाब के लिए धन्यवाद। – Justicle
मेरी खुशी। कुछ लोगों को पहले इस्तेमाल किया जाता है। एक बार जब आप इसे थोड़ी देर के लिए कर रहे हैं, तो यह दूसरी प्रकृति बन जाती है :) –
निजी कारण चरों पर _ उपसर्ग का उपयोग करने के कारणों में से एक कारण है, यह एक उदाहरण चर का उपयोग करते समय यह बताना बहुत आसान बनाता है कुछ और बनाम। –