Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 等质量字符串组合_Objective C_Nsstring_Combinations - Fatal编程技术网

Objective c 等质量字符串组合

Objective c 等质量字符串组合,objective-c,nsstring,combinations,Objective C,Nsstring,Combinations,我有多个字符串组合,我希望我的isEqualtoString能够自动找到。 现在,我已经手动搜索了所有组合 if([aString isEqualToString:@"xyz"] || [aString isEqualToString:@"zxy"] || [aString isEqualToString:@"yzx"] || [aString isEqualToString:@"xzy"] etc...){} 如果您只想知道其中是否有匹配项,可以将所有候选项(xyz、zxy,…)放入NSAr

我有多个字符串组合,我希望我的isEqualtoString能够自动找到。 现在,我已经手动搜索了所有组合

if([aString isEqualToString:@"xyz"] || [aString isEqualToString:@"zxy"] || [aString isEqualToString:@"yzx"] || [aString isEqualToString:@"xzy"] etc...){}

如果您只想知道其中是否有匹配项,可以将所有候选项(xyz、zxy,…)放入
NSArray
中,并在数组上调用
containsObject:aString
。如果您需要知道匹配的字符串,请使用
indexOfObject:aString

您可以编写一个NSString类别来执行此任务:

@interface NSString (isEqualToAnyStringAddition)
- (BOOL)isEqualToAnyString:(NSString *)firstString, ... NS_REQUIRES_NIL_TERMINATION;
@end

@implementation NSString (isEqualToAnyStringAddition)

- (BOOL)isEqualToAnyString:(NSString *)firstString, ...
{
    if([self isEqualToString:firstString])
        return YES;


    va_list arguments;
    va_start(arguments, firstString);

    NSString *string;

    while((string = va_arg(arguments, NSString *)))
    {
        if([self isEqualToString:string])
        {
            va_end(arguments);
            return YES;
        }
    }

    va_end(arguments);
    return NO;
}

@end

谢谢你。如果我曾经成为一名硬核开发人员,并且想要提升我的代码外观,那么我将使用这个^ ^。同时,我认为containsObject会更容易工作。谢谢你的回答!这看起来简单多了,我喜欢简单。