我有一个方法如下用来纠正Json中的空值
+(NSString *)CorrectJsonForEmptyValues:(NSString *)pasRawJson
{
NSLog(@"CorrectJsonForEmptyValues");
NSMutableString *tmpJson = [pasRawJson mutableCopy];
[tmpJson replaceOccurrencesOfString:@"[,"
withString:@"[{\"v\": \"N/A\",\"f\":\"N/A\"},"
options:0
range:NSMakeRange(0, [tmpJson length])];
[tmpJson replaceOccurrencesOfString:@",,"
withString:@",{\"v\": \"N/A\",\"f\":\"N/A\"},"
options:0
range:NSMakeRange(0, [tmpJson length])];
NSString *correctedJson=tmpJson;
return correctedJson;
}
像这样调用函数
result = [self performSelector:@selector(CorrectJsonforEmptyvalues:) withObject:result];
但是收到错误
2011-11-11 11:11:33.217 HelloWorld10[38833:207] -[Data CorrectJsonforEmptyvalues:]: unrecognized selector sent to instance 0x5725cc0
2011-11-11 11:11:33.219 HelloWorld10[38833:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Data CorrectJsonforEmptyvalues:]: unrecognized selector sent to instance 0x5725cc0'
如果有人可以提供解决方案,那将会很有帮助。 提前谢谢。
答案 0 :(得分:5)
您已将CorrectJsonForEmptyValues:
声明为类方法,方法是使用+
而不是-
启动其声明/定义。因此,您可以在类对象上调用它,而不是在类的实例上调用它。例如,如果您的班级名为Data
,则可以这样命名:
result = [Data CorrectJsonForEmptyValues:result];
顺便说一句,你不应该用大写字母开始方法名称。
答案 1 :(得分:1)
您可以按如下方式调用功能
[self CorrectJsonForEmptyValues:result];
用' - '
替换下面的'+' +(NSString *)CorrectJsonForEmptyValues:(NSString *)pasRawJson{