或者字符串以避免在目标C中为零

Ove*_*esh 0 objective-c nsstring

是否有一个简短的语法来避免传递一个nil NSString?

我想避免这样做:

if(!str)
   str = @"";
[obj someFunc:str];
Run Code Online (Sandbox Code Playgroud)

这就是我想要的是什么喜欢做的事:

[obj someFunc:(str || @"")]
Run Code Online (Sandbox Code Playgroud)

但Objective-C不允许这样做.

dre*_*lax 6

进行内联条件表达式的C方式是:

[obj someFunc:(str ? str : @"")];
Run Code Online (Sandbox Code Playgroud)

通俗地说它是"三元运算符"(C标准称之为"条件运算符").它用作:

condition ? true-expression : false-expression
Run Code Online (Sandbox Code Playgroud)

如果条件非零,则将true-expression其作为运算符false-expression的结果进行求值,否则将其作为结果进行求值.