Pre*_*ton 14 iphone sdk warnings objective-c xcode4
我试图摆脱我的iPhone应用程序中的一些警告.我得到的最多的是当我有一个void函数时,我用[self myFunction];来调用它.警告在我调用函数的行上,它说:"找不到方法'-myFunction'(返回类型默认为'id')." 我需要做些什么来解决这个问题?谢谢
mvd*_*vds 18
在头文件中声明函数,如下所示:
-(void)myFunction;
Run Code Online (Sandbox Code Playgroud)
要么
-(NSString*)myFunction;
-(id)myFunction;
-(NSInteger)myFunction;
-(BOOL)myFunction;
Run Code Online (Sandbox Code Playgroud)
等等
这比仅仅沉默编译器更重要:如果函数的返回类型不是指针(id或anything*),特别是当它没有相同的大小时,你可能会变得非常奇怪并且很难找到错误.
例如,如果一个函数返回一个CGRect结构,并且编译器假设id(如警告所示),那么真的会发生奇怪的事情.
您需要在头文件(.h)中定义该函数(如果它应该对其他类可见),或者在实现文件(.m)中定义该函数(如果它对您的类是私有的).
例如,如果您使用方法:
-(void)myFunction {
// do something
}
Run Code Online (Sandbox Code Playgroud)
对于"私有"功能,请将其添加到.m文件的顶部; 在线之前@implementation MyCoolClass.
@interface MyCoolClass() // <--- no 'category name' hides methods just for this file
-(void)myFunction; // <--- add the method here
-(void)myOtherFunction;
-(void)doSomeCoolThingWithThisString:(NSString *)firstName;
@end
Run Code Online (Sandbox Code Playgroud)
或者,如果要从其他文件中调用该方法,请将其添加到.h文件中,在"interface"部分中; 在所有属性之后,在@end之前.
祝好运!
| 归档时间: |
|
| 查看次数: |
26469 次 |
| 最近记录: |