当我试着在开始时理解一切时,我想知道,我在哪里犯了错误,在下面的代码中.对我来说,一切都很好.
因此,您能否帮我确定警告的来源:
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 = [input retain];}- (voID) setPhotographer: (Nsstring *)input { [photographer autorelease]; photographer = [input retain];}- (voID)dealloc{ [self setCaption:nil]; [self setPhotographer:nil]; [super dealloc];}@end
我使用SNow Leopard 10.6.7和Xcode 4.0.0.
解决方法 除非是拼写错误,否则你的Class方法定义为(Photo *)Photo;没有实现(有一个(Photo *)Caption {}方法看起来只是一个意外.编辑:一个更简单的方法是使用属性,这是一个为我们创建变量的getter和setter的快捷方式(请参阅此链接以获得一个好的初学者教程:iPhone 101),如下所示:
在你的.h文件中:
@interface Photo : NSObject{ Nsstring* caption; Nsstring* photographer; }@property (nonatomic,retain) Nsstring *caption;@property (nonatomic,retain) Nsstring *photographer;@end
在.m文件中:
@implementation Photo@synthesize caption,photographer; //Other stuff (init and any custom methods for class etc.. NOT getters and setters for variables) - (voID)dealloc { ; [photographer release]; [super dealloc]; }总结
以上是内存溢出为你收集整理的objective-c – XCode 4.0中的“不完整实现”警告全部内容,希望文章能够帮你解决objective-c – XCode 4.0中的“不完整实现”警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)