背景
案件のコード見てたらすごく簡潔に書かれた三項演算子があった!
まさかこんな書き方ができるとは知らなかったので、メモしておきます。
コード
NSDictionary *dic = @{@"a": @"AAA", @"b": @"BBB"};
NSString *str = dic[@"b"] ? : @"";
NSLOG(@"str: %@", str);
// str: BBB
str = dic[@"c"] ? : @"";
NSLOG(@"str: %@", str);
// str:
Swift だったら...
Swiftならデフォルト値入れるだけで🙆♀️
Swift便利だな〜
let dic = ["a": "AAA", "b": "BBB"]
var str = dic["b"] ?? ""
// str : BBB
print("str : \(str)")
str = dic["c"] ?? ""
print("str : \(str)")
// str :
まとめ
Objective-Cでは三項演算子の第2項は省略できる👍
Swiftはデフォルト値入れるだけで、nilの場合の値が決めれる👍