Objective c 如何将一个NSString与另外两个NSString进行比较

Objective c 如何将一个NSString与另外两个NSString进行比较,objective-c,nsstring,Objective C,Nsstring,我的问题是我有一个NSString,我必须将它与另外两个NSString进行比较 如何比较以下字符串: if(a == (b || c)) 我的解决方案还不是很好(但有效): 问题是我必须调用MethodThatReturnsChar*两次,这不是必须的,是吗 那没必要,是吗 没错,这完全是多余的。这就是为什么C语言有变量。。。另外,不要滥用-[nsstringwithformat:。此外,使用isEqualToString:进行比较: NSString *a = [NSString stri

我的问题是我有一个NSString,我必须将它与另外两个NSString进行比较

如何比较以下字符串:

if(a == (b || c))
我的解决方案还不是很好(但有效):

问题是我必须调用MethodThatReturnsChar*两次,这不是必须的,是吗

那没必要,是吗

没错,这完全是多余的。这就是为什么C语言有变量。。。另外,不要滥用
-[nsstringwithformat:
。此外,使用
isEqualToString:
进行比较:

NSString *a = [NSString stringWithUTF8String:someCharPtr];
if ([a isEqualToString:b] || [a isEqualToString:c]) {
    DoStuff();
}
那没必要,是吗

没错,这完全是多余的。这就是为什么C语言有变量。。。另外,不要滥用
-[nsstringwithformat:
。此外,使用
isEqualToString:
进行比较:

NSString *a = [NSString stringWithUTF8String:someCharPtr];
if ([a isEqualToString:b] || [a isEqualToString:c]) {
    DoStuff();
}

将该字符串指定给变量,然后将其与其他字符串进行比较

    NSString *a = @"myfirststring";
    NSString *b = @"mysecondstring";
    NSString *stringIAmComparing = [NSString stringWithFormat:@"%s", MethodThatReturnsChar*];
    if([stringIAmComparing isEqualToString:a] || [stringIAmComparing isEqualToString:b])
    {
    }

将该字符串指定给变量,然后将其与其他字符串进行比较

    NSString *a = @"myfirststring";
    NSString *b = @"mysecondstring";
    NSString *stringIAmComparing = [NSString stringWithFormat:@"%s", MethodThatReturnsChar*];
    if([stringIAmComparing isEqualToString:a] || [stringIAmComparing isEqualToString:b])
    {
    }
您可以使用以下命令将“MethodThatReturnsChar*”包装到另一个NSString中

NSString* stringToCompare = [NSString stringWithCString:yourCString encoding:NSUTF8StringEncoding];
然后比较:

if([stringToCompare isEqualToString:a] || [stringToCompare isEqualToString:b])
希望能有所帮助。

您可以使用

NSString* stringToCompare = [NSString stringWithCString:yourCString encoding:NSUTF8StringEncoding];
然后比较:

if([stringToCompare isEqualToString:a] || [stringToCompare isEqualToString:b])
希望有帮助