![斯威夫特 – ‘[任务]?不可转换为’Optional <[Any]>',第1张 斯威夫特 – ‘[任务]?不可转换为’Optional <[Any]>',第1张](/aiimages/%E6%96%AF%E5%A8%81%E5%A4%AB%E7%89%B9+%E2%80%93+%E2%80%98%5B%E4%BB%BB%E5%8A%A1%5D%EF%BC%9F%E4%B8%8D%E5%8F%AF%E8%BD%AC%E6%8D%A2%E4%B8%BA%E2%80%99Optional+%26amp%3Blt%3B%5BAny%5D%26amp%3Bgt%3B%26amp%3B%2339%3B.png)
extension Optional where Wrapped == [Any] { var isNilOrEmpty: Bool { get { if let array = self { return array.count == 0 } else { return false } } }} 然后我尝试像这样使用它
if fetchedResults.fetchedobjects.isNilOrEmpty { ... } 我收到了错误
‘[Task]?’ is not convertible to ‘Optional<[Any]>’
但是,按照规范
Any can represent an instance of any type at all,including function types.
这里我的错误是什么?
如果重要的话,Task是NSManagedobject的子类.
正确的方法是限制Wrapped by protocol,而不是特定的类型.
extension Optional where Wrapped: Collection { var isNilOrEmpty: Bool { get { // `get` can be omitted here,btw if let collection = self { return collection.isEmpty // Prefer `isEmpty` over `.count == 0` } else { return true // If it's `nil` it should return `true` too } } }} 总结 以上是内存溢出为你收集整理的斯威夫特 – ‘[任务]?不可转换为’Optional <[Any]>'全部内容,希望文章能够帮你解决斯威夫特 – ‘[任务]?不可转换为’Optional <[Any]>'所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)