में "अपूर्ण कार्यान्वयन" चेतावनी इस एप्लिकेशन को Cococa and Objective C Up and Running पुस्तक से कोड दोबारा लिखा गया है।एक्सकोड 4.0
जैसा कि मैं शुरुआत में सब कुछ समझने की कोशिश करता हूं, मैं जानना चाहता हूं, जहां मैंने नीचे दिए गए कोड में गलती की थी। मेरे लिए, सब ठीक दिखता है।
Incomplete Implementation
मैं Photo.m
स्रोत कोड फ़ाइल में @implementation Photo
लाइन में यह मिल गया:
आप, इसलिए, मुझे चेतावनी के स्रोत की पहचान करने में मदद कर सकता है?
Photo.h
#import <Foundation/Foundation.h>
@interface Photo : NSObject{
NSString* caption;
NSString* photographer;
}
+ (Photo*) photo;
- (NSString*) caption;
- (NSString*) photographer;
- (void) setCaption: (NSString*)input;
- (void) setPhotographer: (NSString*)input;
@end
Photo.m
#import "Photo.h"
@implementation Photo // <- Incomplete Implementation?
- (id)init
{
self = [super init];
if (self) {
[self setCaption:@"Default Caption"];
[self setPhotographer:@"Default Photographer"];
}
return self;
}
+ (Photo*) caption {
Photo* newPhoto = [[Photo alloc] init];
return [newPhoto autorelease];
}
- (NSString*) caption {
return caption;
}
- (NSString*) photographer {
return photographer;
}
- (void) setCaption:(NSString *)input {
[caption autorelease];
caption = [input retain];
}
- (void) setPhotographer: (NSString *)input {
[photographer autorelease];
photographer = [input retain];
}
- (void)dealloc
{
[self setCaption:nil];
[self setPhotographer:nil];
[super dealloc];
}
@end
मैं हिम तेंदुए 10.6.7 और Xcode 4.0.0 का उपयोग करें।
आपका प्रश्न जल्दी से उत्तर मिला (नीचे देखें), लेकिन एक अलग रूप में के रूप में, वहाँ किसी भी कारण से आप गुण का उपयोग कर रहे है और बजाय अपने चर के लिए @synthesize मैन्युअल कर गेटटर और सेटर? –
@ जेसे: हाय, जेसी। हाँ, आप सही हैं, मेरे प्रश्न को तत्काल उत्तर दिया गया है। बिल्कुल कोई कारण नहीं है। मैंने अभी सीखना शुरू किया * उद्देश्य-सी *। यदि आपके पास बनाने के लिए कुछ भी है मेरा कोड बेहतर है, मैं wil मैं इसे अवशोषित करने के लिए खुश रहो। जैसा कि उद्देश्य-सी के बारे में मेरा ज्ञान बहुत सीमित है, मुझे अनुसरण करना होगा, पुस्तक क्या प्रदान करती है। –
बीमार इसे मेरे जवाब में वास्तविक जल्दी डाल दिया। –