簡體   English   中英

在Swift 1.2中解析復合查詢

[英]Parse Compound Queries in Swift 1.2

我有這個查詢

var postsExploreQuery = Post.query()
postsExploreQuery!.whereKey("isPrivate", equalTo: false)

var query = PFQuery.orQueryWithSubqueries([postsExploreQuery])
query.whereKey("isPublished", equalTo: true)

return query

和Xcode向我顯示錯誤

無法使用類型為([[PFQuery?]))的參數列表調用'orQueryWithSubqueries'

我在做什么錯了:(

你真的應該擺脫推桿的習慣! 畢竟你的可選。 這消除了選裝件打算為您提供的所有安全性。 除非設計不當,否則您使用的API會返回可選參數是有原因的。 if let使用if let請安全地打開可選組件。 這消除了您的程序將來會隨機崩潰的機會,並且還為您提供了一個在其他情況下對您的程序有意義的錯誤處理機會。

var postsExploreQuery = Post.query()
if let postsExploreQuery = postsExploreQuery {
    postsExploreQuery.whereKey("isPrivate", equalTo: false)

    var query = PFQuery.orQueryWithSubqueries([postsExploreQuery])
    query.whereKey("isPublished", equalTo: true)

    return query
}

我的猜測是, orQueryWithSubqueries需要一個非可選數組,因此您可能必須將其編寫為:

var query = PFQuery.orQueryWithSubqueries([postsExploreQuery!])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM