【发布时间】:2013-03-17 17:52:22
【问题描述】:
+ (NSString *)numberMatching: (NSString *)number and: (NSString *)secondNumber
{
NSString *returnNumber;
if ([number isEqualToString:secondNumber]) {
returnNumber = number;
} else {
NSMutableArray *validNumber = [[self validNumbers] copy];
[validNumber removeObject:number];
[validNumber removeObject:secondNumber];
returnNumber = validNumber[0];
}
return returnNumber;
}
如果重要的话,这里是validNumber的代码:
+ (NSArray *)validNumbers
{
static NSArray *validNumbers = nil;
if (!validNumbers) validNumbers = @[@"one",@"two",@"three"];
return validNumbers;
}
运行时出现以下错误:
-[_NSArrayI removeObject:]: unrecognized selector sent to instance 0x1ed60f00 ... 由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[_NSArrayI removeObject:]: 无法识别的选择器发送到实例 0x1ed60f00'
这似乎表明 removeObject 不是 NSMutableArray 的有效方法,但它是有效的。
本质上,我想做的是:如果两个参数匹配,我想返回值。如果它们不匹配,我想返回第三种可能性(不匹配任何一个参数)。
【问题讨论】:
标签: objective-c nsmutablearray