私はiOS初心者ですので、ご容赦ください。
stringWithFormatを使って文字列を構築したいのですが、条件が真の場合のみ文字列の一部を入れたいです。どうすれば次のようなことを達成できますか-
myString = [NSString stringWithFormat:@"%@%@",
@"myString1",
//put myString2 only if (someCondition)]
よくわからない場合はお知らせください。
私はiOS初心者ですので、ご容赦ください。
stringWithFormatを使って文字列を構築したいのですが、条件が真の場合のみ文字列の一部を入れたいです。どうすれば次のようなことを達成できますか-
myString = [NSString stringWithFormat:@"%@%@",
@"myString1",
//put myString2 only if (someCondition)]
よくわからない場合はお知らせください。
これを行う最も読みやすい方法は、explictifブロックを使用することです。
ただし、三項演算子を使用してインラインで実行することもできます。
BOOL condition = YES;
NSString* str = [NSString stringWithFormat: @"%@%@", @"string1",
(condition) ?
@"string2" :
@""];
これを実現する 1 つの方法は、条件が false の場合に空の文字列を挿入し、次のように 2 番目の文字列が true であることを使用することです。
myString = [NSString stringWithFormat:@"%@%@", @"myString1",
(condition) ? @"This is myString2" : @""];
NSString *myString = nil;
if (condition1) {
myString = [NSString stringWithFormat:@"%@", condition1];
} else {
myString = [NSString stringWithFormat:@"%@", condition2];
}
BOOL test =0;
NSString *string = [NSString stringWithFormat:@"%@%@", @"myString1", test? @"Mystriong 2":@"Mystring3"];
NSLog(@"string: %@", string);