iOS stringWithFormat简写WITH nil检查

时间:2014-12-24 20:23:32

标签: nsstring shorthand stringwithformat

我正在尝试为[NSString stringWithFormat]创建简写:

我该怎么做(工作):

  #define fstring(s, ...) [NSString stringWithFormat:(s), ##__VA_ARGS__]

进入此(检查零值)

  #define fstring(s, ...) [NSString stringWithFormat:(s), ##__VA_ARGS__ (__VA_ARGS__ ?:@"")]

类似的东西:

NSString *fullName = [NSString stringWithFormat:@"%@", contact.firstName ?: @""]

我没有运气尝试过不同的速记组合......任何人都有更好的主意吗?

编辑 - 找到解决方案

#define fstring(s, ...) [NSString stringWithFormat:(s), ##__VA_ARGS__ ?:@""]

1 个答案:

答案 0 :(得分:1)

解决方案如下:

#define fstring(s, ...) [NSString stringWithFormat:(s), ##__VA_ARGS__ ?:@""]

如果你想要空字符串,如果为null:

#define fstringOrEmpty(...) __VA_ARGS__ ? : @""