if else语句混淆Objective-C

Sal*_* B. 0 iphone objective-c nsstring ios

在Xcode中,我有if一个else声明.

我想使声明有多个条件,但只有一个必须是"是".

例如:

我有一个NSString,该字符串的值是:

[NSstring stringWithFormat:@"ABCDEFG12345"];
Run Code Online (Sandbox Code Playgroud)

我需要让我的if语句检查if A1or 5是否在字符串中.我明白如何使用[string rangeOfString:@"CheckHere"];.

我需要我的if陈述才能找到一个或所有给定的字母/数字.如果找到一个,执行给定的代码,如果找到两个,执行给定的代码,如果找到所有三个代码,则执行给定的代码.

tia*_*tia 6

你不需要if-else.你可以做这样的事情.

NSString* string = @"ABCDEFG12345";

int foundA = [string rangeOfString:@"A"].location == NSNotFound ? 0 : 1;
int found1 = [string rangeOfString:@"1"].location == NSNotFound ? 0 : 1;
int found5 = [string rangeOfString:@"5"].location == NSNotFound ? 0 : 1;

int foundCount = foundA + found1 + found5;

switch(foundCount) {
    case 1: [self executeOne]; break;
    case 2: [self executeTwo]; break;
    case 3: [self executeThree]; break;
}
Run Code Online (Sandbox Code Playgroud)