-3

我对目标 c 基本上一无所知,但是我如何做一个 if 语句来查看 SourceTypeString 是等于 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
4

3 回答 3

10
if ([sourceTypeString intValue] == 1)
于 2012-10-29T09:01:18.993 回答
1

如果可以使用给定的字符串,您可以调用intValueanNSString以将其值作为 an 来获取。int然后你可以比较这些。

于 2012-10-29T08:59:28.337 回答
1

您不能直接将整数与字符串进行比较。但是,您可以使用 NSStringisEqualToString来检查第一个字符串值是否等于数字的字符串值。

if ([sourceTypeString isEqualToString:@"1"]) {
    //
}
于 2012-10-29T09:00:41.770 回答