更新到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/

10-12 14:46