Parse - Swift 中的 NSNull null 模拟

Posted

技术标签:

【中文标题】Parse - Swift 中的 NSNull null 模拟【英文标题】:Parse - NSNull null analog in Swift 【发布时间】:2021-11-05 14:42:53 【问题描述】:

如何将此目标 c 代码转换为 Swift:

PFQuery *query = [PFQuery queryWithClassName:@"Review"];
[query whereKey:@"comment" notEqualTo:[NSNull null]];

当我简单地说:

query.whereKey("comment", notEqualTo: nil)

Xcode 抛出构建错误:

'nil' is not compatible with expected argument type 'Any'

从技术上讲,我知道我不能简单地将 nil 放在那里,但我没有找到任何与模拟 [NSNull null] 相关的有用链接

我调用的方法是这样的:

- (instancetype)whereKey:(NSString *)key equalTo:(id)object;

【问题讨论】:

看起来有一个名为 query.whereKeyDoesNotExist("comment") 的函数可以满足我的需要,但看起来 NSNull null 没有类似的 swift 函数 我相信你仍然可以在 Swift 中使用NSNull() [NSNull null]nil 不同。 NSNull 是一个特殊的单例对象,用于区分“无对象”和空指针。正如 Sulthan 所说,您可以在 Swift 中使用它,但我会说您发现的替代 where 函数更优雅 【参考方案1】:

您应该能够直接使用NSNull() 来表示NSNull 单例实例。

【讨论】:

谢谢!我在你回答之前试过这个,但不知何故它不起作用,也许它只是我尝试使用的没有括号的 NSNull

以上是关于Parse - Swift 中的 NSNull null 模拟的主要内容,如果未能解决你的问题,请参考以下文章

swift 怎么判读一个字符串为nsnull

Swift不检索Firebase值(返回值为NSNull)

无法将“NSNull”类型的值转换为预期的参数类型

Interface Builder 文件 Swift/Parse 错误中的未知类 PFQueryTableView

为 UIViewController 设置 ViewController,使用 Table View,连接到 Swift 中的 Parse

将 JSON 数据从 Parse Cloud Code 返回到 Swift 中的可解码结构