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 模拟的主要内容,如果未能解决你的问题,请参考以下文章
Interface Builder 文件 Swift/Parse 错误中的未知类 PFQueryTableView
为 UIViewController 设置 ViewController,使用 Table View,连接到 Swift 中的 Parse