升级到xcode 4.6和iOS 6.1后出现错误,“用作以前参数的名称而不是选择器的一部分”

在更新到 xcode 4.6和ios6.1之后,我得到这个新的错误“’objectType’用作上一个参数的名称而不是选择器的一部分.我得到这个多次.有任何想法吗?

PS:显示方法是用于反向地理编码的自定义方法.

-(void) getAddress: (Nsstring *) objectType: (CLLocationCoordinate2D) objectCoordinate

解决方法

它表示objectType是方法中Nsstring对象的名称,不是方法名称的一部分,不能用作objectType:(CLLocationCoordinate2D)objectCoordinate,它通常表示方法名称的一部分.

理想情况下,你应该改变,

-(void) getAddress: (Nsstring *) objectType: (CLLocationCoordinate2D) objectCoordinate

更可读,

-(void) getAddress:(Nsstring *)objectType coordinate:(CLLocationCoordinate2D) objectCoordinate;

方法定义(例如: – – (void)getAddress:(Nsstring *)objectType:(CLLocationCoordinate2D)objectCoordinate)中,在objectType和nextparam之间放置一个空格也可以修复上述错误.注意objectType之后的空格.

更新:

要在评论中回答问题,您可以使用下面的行来抑制这些警告:

#pragma clang diagnostic ignored "-Wmissing-selector-name"

将其添加到您的pch文件中.我不知道这是否适用于您来自图书馆的情况,但您可以尝试一下.查看this clang-trunk了解更多详情.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...