如何在我的iphone应用程序的obj c中验证这个简单条件

如何在我的iphone应用程序的obj c中验证这个简单条件,iphone,objective-c,ios,conditional-statements,Iphone,Objective C,Ios,Conditional Statements,我正在上传一个图像文件到FTP,在上传之前,我需要检查它是png还是jpg,如果不是,我应该抛出一个警告警报,我尝试这样做,但它抛出警报虽然它是jpg的png我怎么能检查这个条件 NSLog(@"%@",filePath.pathExtension); if( ![filePath.pathExtension isEqualToString:@"png"] || ![filePath.pathExtension isEqualToString:@"jpg"] || ![filePath

我正在上传一个图像文件到FTP,在上传之前,我需要检查它是png还是jpg,如果不是,我应该抛出一个警告警报,我尝试这样做,但它抛出警报虽然它是jpg的png我怎么能检查这个条件

NSLog(@"%@",filePath.pathExtension);

    if( ![filePath.pathExtension isEqualToString:@"png"] || ![filePath.pathExtension isEqualToString:@"jpg"] || ![filePath.pathExtension isEqualToString:@"PNG"] ||![filePath.pathExtension isEqualToString:@"JPG"] )
    {
        UIAlertView *alert = [[[UIAlertView alloc]initWithTitle:@"Warning" message:@"Image should be in png or jpg format to upload" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]autorelease];
        [alert show];

    }

您应该将
|
替换为
&
,否则该条件始终为真(扩展名不能同时等于
@“png”
@“jpg”
,这是OR ed条件计算为
false
所需的条件)。

您应该将
|
替换为
&
,否则,条件始终为真(扩展名不能同时等于
@“png”
@“jpg”
,这是OR ed条件求值为
false
)所需的条件。

为什么要对png、png和jpg、jpg执行此操作,只需将其小写改为后者即可

NSString *str = [filePath.pathExtension lowercaseString];
if (![str isEqualToString:@"png"] && ![str isEqualToString:@"jpg"])
{
    //Your Alert
}
else{
    //Your Task
}

为什么你要用png,png和jpg,jpg,把它改成小写

NSString *str = [filePath.pathExtension lowercaseString];
if (![str isEqualToString:@"png"] && ![str isEqualToString:@"jpg"])
{
    //Your Alert
}
else{
    //Your Task
}

NSLog的输出是什么?有什么问题?什么是文件路径?这与Xcode无关。什么是简单代码?什么是NSLog的输出?有什么问题?什么是文件路径?这与Xcode无关。什么是简单代码?你能留下评论来解释一下你的做法吗您认为上述答案有误吗?@downvoter请您留下评论,解释一下您认为上述答案有误吗?