我如何比较字符串和整数?

时间:2012-10-29 08:57:19

标签: objective-c ios cordova

我基本上不了解目标c,但我如何制作一个if语句来查看SourceType String是否等于1或2?

     NSString* sourceTypeString = [arguments objectAtIndex:2];
            UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; // default
            NSLog(@"my ns string = %@",sourceTypeString);
  //NEWBIE PART
        if ((sourceTypeString == 1))
            {
            NSLog(@"equals 1");
                sourceType = (UIImagePickerControllerSourceType)[sourceTypeString intValue];
            } else {
            NSLog(@"equals 2");
            sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        }
   //NEWBIE PART

我的代码崩溃并给了我

my ns string = 1
(lldb) 
sourceTypeString    __NSCFNumber *  0x0013bf80 (int)1

3 个答案:

答案 0 :(得分:10)

if ([sourceTypeString intValue] == 1)

答案 1 :(得分:1)

如果可以使用给定字符串执行此操作,则可以在intValue上调用NSString以使其值为int。然后你可以比较那些。

答案 2 :(得分:1)

您无法直接将字符串与字符串进行比较。但是,您可以使用NSString的isEqualToString来检查第一个字符串值是否等于该数字的字符串值。

if ([sourceTypeString isEqualToString:@"1"]) {
    //
}