ala*_*lan 17 cocoa-touch objective-c variable-assignment nsstring
我正在尝试实现以下C#代码的等价物:
someStringValue = someStringValue ?? string.Empty;
Run Code Online (Sandbox Code Playgroud)
if if someStringValue为null,将赋值string.Empty(空字符串"":).我如何在Objective-C中实现这一目标?是我唯一的选择:
if(!someStringValue)
someStringValue = @"";
Run Code Online (Sandbox Code Playgroud)
解决方案感谢@Dave DeLong:
someStringValue = someStringValue ?: @"";
Run Code Online (Sandbox Code Playgroud)
Eri*_*ric 28
简单,使用三元运算符.
someStringValue = someStringValue ? someStringValue : @"";
Run Code Online (Sandbox Code Playgroud)
或者如果你想要一个宏,你也可以这样做.
#if !defined(StringOrEmpty)
#define StringOrEmpty(A) ({ __typeof__(A) __a = (A); __a ? __a : @""; })
#endif
Run Code Online (Sandbox Code Playgroud)
样品用法:
someStringValue = StringOrEmpty(someStringValue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9430 次 |
| 最近记录: |