gpt4 book ai didi

objective-c - 仅当变量为 nil 时才分配空字符串(三元运算符)

转载 作者:太空狗 更新时间:2023-10-30 03:15:37 26 4
gpt4 key购买 nike

我正在尝试实现以下 C# 代码的等价物:

someStringValue = someStringValue ?? string.Empty;

如果 someStringValue 为 null,将分配 string.Empty 的值(空字符串:"")。我如何在 Objective-C 中实现这一点?是我唯一的选择:

if(!someStringValue)
someStringValue = @"";

感谢@Dave DeLong 的解决方案:

someStringValue = someStringValue ?: @"";

最佳答案

简单,使用三元运算符。

someStringValue = someStringValue ? someStringValue : @"";

或者如果你想要一个宏,你也可以这样做。

#if !defined(StringOrEmpty)
#define StringOrEmpty(A) ({ __typeof__(A) __a = (A); __a ? __a : @""; })
#endif

示例用法:

someStringValue = StringOrEmpty(someStringValue);

关于objective-c - 仅当变量为 nil 时才分配空字符串(三元运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com