+ (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:]:認識されないセレクターがインスタンス0x1ed60f00に送信されました...キャッチされない例外のためにアプリを終了しています'NSInvalidArgumentException'、理由:'-[ _NSArrayI removeObject:]:認識されないセレクターがインスタンス0x1ed60f00に送信されました'
これは、removeObjectがNSMutableArrayの有効なメソッドではないことを示しているように見えますが、有効です。
基本的に、私がやりたいのはこれです。2つの引数が一致する場合は、値を返します。それらが一致しない場合は、3番目の可能性を返します(どちらの引数にも一致しません)。