我想将所有声音文件保存在一个数组中,如.caf,.avi,.mp3 ..如何检查OR条件。我对语法感到困惑。
#define kSoundFileExtension @"caf"
#define kSoundfileExtnesion @"mp3"
if ([fileName rangeOfString:kSoundFileExtension].location != NSNotFound) {
[self.soundFiles addObject:fileName];
}
答案 0 :(得分:3)
您需要为每个扩展名提供不同的标识符,然后检查两者,如下所示:
#define kSoundFileCAFExtension @"caf"
#define kSoundFileMP3Extension @"mp3"
if (([fileName rangeOfString:kSoundFileCAFExtension].location != NSNotFound) ||
([fileName rangeOfString:kSoundFileMP3Extension].location != NSNotFound)) {
[self.soundFiles addObject:fileName];
}
答案 1 :(得分:2)
NSArray *exts = [NSArray arrayWithObjects:@"caf",@"mp3",nil];
for(NSString *ext in exts) {
if ([[fileName pathExtension] isEqualToString:ext]) {
[self.soundFiles addObject:fileName];
break;
}
}
答案 2 :(得分:1)
这适用于 OR :
if (([fileName rangeOfString:kSoundFileCAFExtension].location != NSNotFound) ||
([fileName rangeOfString:kSoundFileMP3Extension].location != NSNotFound)) {
这适用于 AND :
if (([fileName rangeOfString:kSoundFileCAFExtension].location != NSNotFound) &&
([fileName rangeOfString:kSoundFileMP3Extension].location != NSNotFound)) {
在第一种情况中,有两种需要满足条件,而第二种情况都需要满足条件。