ios - 如何比较 AnyObject 是否为 <Null>?

标签 ios swift anyobject

我正在编写下面的函数,以根据传递给此方法的数据对象返回值。

如果我们得到的数据为空,我将尝试返回“-”,否则如果我得到任何有效的响应,我将返回值..

private func checkDataForValue(data: Optional<AnyObject>) -> String {
    if let value = data {
        let value1: AnyObject = //have to check <Null>
        if value === value1 {
            return "-"
        }
        return "\(value)"
    } else {
        return "-"
    }
}

我的问题如何在这里比较空值..

最佳答案

您很可能希望将 valueNSNull 进行比较。

您可以按如下方式更新您的代码:

private func checkDataForValue(data: Any?) -> String {
    if let value = data {
        if value is NSNull != nil {
            return "-"
        } else if (value as? String)?.lowercased() == "<null>" {
            return "-"
        } else {
            return "\(value)"
        }
    } else {
        return "-"
    }
}

关于ios - 如何比较 AnyObject 是否为 <Null>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52043876/

相关文章:

swift - UICollectionView更改单元格间距

arrays - 函数内结构数组的全局作用域 - Swift

ios - 扩展 Optional<Dictionary<String, AnyObject>>

Swift:将 AnyObject 转换为 Float 失败

ios - @synchronized (self) - 最好的方法

ios - CGAffineTransformMakeScale 动画不工作

ios - 关闭 UIScrollView 中的缩放

ios - 如何在 iOS 应用程序中使用支付网关而不被苹果拒绝?

swift - 类型不可转换为 'NativeObject'

ios - 转换任何对象?至 NSD 日期