iOS:在stringwithformat中的if-else

时间:2012-01-09 20:33:57

标签: iphone ios nsstring if-statement stringwithformat

我是iOS新手,所以请耐心等待我。

我想使用stringWithFormat构造一个字符串,但是我想只在条件为真时放入一个字符串的一部分。我将如何实现像 -

myString = [NSString stringWithFormat:@"%@%@", 
           @"myString1",
           //put myString2 only if (someCondition)]

如果我不够清楚,请告诉我。

4 个答案:

答案 0 :(得分:9)

最简单的方法是使用明确的if块。

但是,您也可以使用ternary operator

进行内联
BOOL condition = YES;
NSString* str = [NSString stringWithFormat: @"%@%@", @"string1", 
                                                     (condition) ? 
                                                         @"string2" : 
                                                         @""];

答案 1 :(得分:4)

实现这一目标的一种方法是,如果条件为false,则插入空字符串,并使用第二个字符串为true,如下所示:

myString = [NSString stringWithFormat:@"%@%@", @"myString1",
           (condition) ? @"This is myString2" : @""];

答案 2 :(得分:1)

NSString *myString = nil;
if (condition1) {
   myString = [NSString stringWithFormat:@"%@", condition1];
} else {
   myString = [NSString stringWithFormat:@"%@", condition2];
}

答案 3 :(得分:1)

    BOOL test =0;
NSString *string = [NSString stringWithFormat:@"%@%@", @"myString1", test? @"Mystriong 2":@"Mystring3"];
NSLog(@"string: %@", string);