3

我是iOS新手,请多多包涵。

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

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

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

4

4 回答 4

9

最清晰的方法是使用显式if块。

但是,您也可以使用三元运算符内联:

BOOL condition = YES;
NSString* str = [NSString stringWithFormat: @"%@%@", @"string1", 
                                                     (condition) ? 
                                                         @"string2" : 
                                                         @""];
于 2012-01-09T20:38:47.543 回答
4

实现这一点的一种方法是在条件为假时插入一个空字符串,并使用第二个字符串为真,如下所示:

myString = [NSString stringWithFormat:@"%@%@", @"myString1",
           (condition) ? @"This is myString2" : @""];
于 2012-01-09T20:38:29.260 回答
1
NSString *myString = nil;
if (condition1) {
   myString = [NSString stringWithFormat:@"%@", condition1];
} else {
   myString = [NSString stringWithFormat:@"%@", condition2];
}
于 2012-01-09T20:38:55.643 回答
1
    BOOL test =0;
NSString *string = [NSString stringWithFormat:@"%@%@", @"myString1", test? @"Mystriong 2":@"Mystring3"];
NSLog(@"string: %@", string);
于 2012-01-09T20:42:39.807 回答