This question already has answers here:
Error after upgrading to xcode 4.6 and iOS 6.1 “used as the name of the previous parameter rather than as part of the selector”

(3个答案)


7年前关闭。




它不是一个错误,它只是警告

例:-

在.h文件中
-(void)updateFromTable:(NSManagedObject*)mObject:(NSString *)key:(NSString *)value;

'mObject'用作上一个参数的名称,而不用作选择器的一部分

.m文件
-(void)updateFromTable:(NSManagedObject*)mObject:(NSString *)key:(NSString *)value{

    [mObject setValue:value forKey:key];
    [self save];
}

最佳答案

为了避免出现诸如parse问题之类的警告:'aVariable'用作前一个参数的名称,而不是用作编译时获得的选择器的一部分,应使用:

在.h文件中:

-(void)updateFromTable:(NSManagedObject*)mObject key:(NSString *)key values:(NSString *)value;

并在您的.m文件中:
-(void)updateFromTable:(NSManagedObject*)mObject key:(NSString *)key values:(NSString *)value
{
// your cool code goes here!
}

并且您应该使用:
[self updateFromTable:myObject key:myKeyString values:myStringWithValues];

或为了更好的清晰度:
[self updateFromTable:myObject
                  key:myKeyString
                values:myStringWithValues];

关于ios - 升级到xcode 4.6和iOS 6.1后的警告用作先前参数的名称,而不用作选择器的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14848273/

10-09 08:54