更新到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;
也可以通过在方法定义中的
objectType
和下一个参数之间放置一个空格来解决上述错误(例如:--(void)getAddress:(NSString *)objectType : (CLLocationCoordinate2D)objectCoordinate
)。注意objectType
之后的空格。更新:
要回答评论中的问题,您可以使用下面的行来禁止显示这些警告:
#pragma clang diagnostic ignored "-Wmissing-selector-name"
将此添加到您的pch文件中。我不确定这是否适用于您来自库的情况,但是您可以尝试一下。检查this clang-trunk以获得更多详细信息。
关于ios - 升级到xcode 4.6和iOS 6.1 "used as the name of the previous parameter rather than as part of the selector"后出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14577478/