Pra*_*dda 1 iphone xcode objective-c
我的一个实用程序类中有一个以下静态方法
+ (UIImage *) getImage:(NSURL*) fromUrl { //Warning here
NSData *urlData = [NSData dataWithContentsOfURL:fromUrl];
UIImage *image = [[[UIImage alloc] initWithData:urlData] autorelease];
return image;
}
Run Code Online (Sandbox Code Playgroud)
对于这种方法,我收到一个波纹管警告信息
警告:不兼容的Objective-C类型初始化'struct NSURL*',期望'struct NSString*'
我没有注意到任何异常,这是我可以忽略的吗?或者我该如何解决?
警告是正确的,因为存在冲突类型,并且与所有警告一样,您应该修复它.
更有可能的是,您getImage:声明了两个方法,一个采用一个NSString,一个采用一个NSURL唯一的参数.在Objective-C中,方法名称空间是平的,推荐的模式是任何给定的选择器只有一个声明的论证.
但是,有一个更微妙的问题. getImage:并不像标准实践所要求的那样具有描述性和描述性.
更好的方法声明是:
+ (UIImage *) imageFromURL: (NSURL *) anURL;
Run Code Online (Sandbox Code Playgroud)
更具描述性.不那么暧昧.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |