[英]Xcode 6.3.1 Swift 1.2 library wherekey can't be invoked
最近注意,PFQuery上的wherekey不起作用。 我嘗試了3種方法,但都失敗了。 我在Xcode 6.3上使用parse-library-1.7.2。
方法1的錯誤:無法使用類型為“(String,AnyObject)”的參數列表調用“ whereKey”
方法2的錯誤:“字符串?”不能轉換為“ StringLiteralConvertible”
方法3的錯誤:“ AnyObject?” 不能轉換為“字符串”
代碼如下。 有人可以幫忙嗎? 提前致謝。
// Define the query that will provide the data for the table view
class MyController: PFQueryTableViewController {
override func queryForTable() -> PFQuery {
var query = PFQuery(className: "Ticket")
//Approach 1
query.whereKey(sellerIdKey, equalTo: currentPhoneUser["objectId"]!)
//Approach 2
if let sellerId = currentPhoneUser["objectId"] as? String {
query.whereKey(sellerIdKey, equalTo: sellerId)
query.orderByDescending("createdAt")
return query
} else {
fatalError("Can't get Object Id of this user")
}
//Approach 3
if let sellerId = currentPhoneUser["objectId"] as! String {
query.whereKey(sellerIdKey, equalTo: sellerId)
query.orderByDescending("createdAt")
return query
} else {
fatalError("Can't get Object Id of this user")
}
}
}
事實證明這是一個迅速的1.2問題。 如何投射AnyObject? 在Swift 1.2中轉換為String
以下是我編譯的最終解決方案:
override func queryForTable() -> PFQuery {
var query = PFQuery(className: "Ticket")
let objectId = currentPhoneUser?["objectId"] as? String
if let constObjectId = objectId {
query.whereKey(sellerIdKey, equalTo: constObjectId)
} else {
fatalError("Cannot find Object Id of current user")
}
return query
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.