使用xCode 5.1,Objective C
刚开始尝试使用Objective C,编写一个简单的程序,并得到一些警告:
Method definition for "some method" not found...
我正在查看我的代码,我在实现文件(.m)中看到了方法 屏幕。
我知道 - 看到很多类似的问题:
所以根据这篇文章,我认为问题是或缺少声明/实现或某些语法错误
检查我的代码看起来一切正常。
声明 - 在.h文件中
//- mean non static method
//(return type) Method name : (type of var *) name of var
- (void)addAlbumWithTitle : (NSString *) title
//global name of var : (type of var *) local name of var
artist : (NSString *) artist :
summary : (NSString *) summary :
price : (float) price :
locationInStore : (NSString *) locationInStore;
在.m文件中实现
- (void)addAlbumWithTitle:(NSString *)title
artist:(NSString *)artist
summary:(NSString *)summary
price:(float)price
locationInStore:(NSString *)locationInStore {
Album *newAlbum = [[Album alloc] initWithTitle:title
artist:artist
summary:summary
price:price
locationInStore:locationInStore];
[self.albumList addObject:newAlbum];
}
我只是开始尝试使用xCode进行Objective C,但也许我错过了
答案 0 :(得分:7)
语法不正确。对于此方法,您的.h应该如下所示(删除额外的冒号):
- (void)addAlbumWithTitle:(NSString *)title
artist:(NSString *)artist
summary:(NSString *)summary
price:(float)price
locationInStore:(NSString *)locationInStore;
Apple Docs:
如果您需要提供多个参数,则语法也是如此 与C不同。指定了C函数的多个参数 在括号内,用逗号分隔;在Objective-C中, 采用两个参数的方法的声明如下:
- (void)someMethodWithFirstValue:(SomeType)value1 secondValue:(AnotherType)value2;
在此示例中,value1和value2 是实现中用于访问提供的值的名称 当调用该方法时,就好像它们是变量一样。
请参阅documentation。