【问题标题】:Parse - NSNull null analog in SwiftParse - Swift 中的 NSNull null 模拟
【发布时间】: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 函数更优雅

标签: ios swift objective-c parse-platform back4app


【解决方案1】:

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

【讨论】:

  • 谢谢!我在你回答之前试过这个,但不知何故它不起作用,也许它只是我尝试使用的没有括号的 NSNull
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多