501 は nil のとき出力しないコードになってるけど、それなら ObjC でも if 分岐は必要
コンパイラが指摘してくれる Swift の方が間違いがないし、他人に意図が伝わる

一方で nil でも何かしら出力するなら Swift なら断然簡単に書ける
"key=" + value ?? "nil"
このとき nil の場合の出力はもちろん任意
ObjC で %@ でフォーマット文字列つくると nil は "(null)" 固定
ObjC で任意の nil 出力をやろうと思うと面倒
NSString *message = [NSString stringWithFormat:@"key=%@", value == nil ? @"nilだよ" : value];


結論:どう見ても Swift の方が安全かつ表現力ありつつ簡潔なコード