2015-11-13 60 views
1

我想通過selectedBook(這是一個selectedBook的objectID的字符串)查詢。但是,我收到此錯誤:「[錯誤]:指針字段簿需要一個指針值(代碼:102,版本:1.8.2)。」我相信我必須用實際的書目對象而不是對象ID來進行查詢,我該如何去做這件事?提前致謝!!使用指針搜索解析返回錯誤「指針字段需要一個指針值」

var query = PFQuery(className:"UserTags") 
     query.whereKey("book", equalTo:selectedBook) 

     query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in 

     if error == nil { 

      // The find succeeded. 
      print("Successfully retrieved \(objects!.count) tags.") 

      // Do something with the found objects 
      if let objects = objects as? [PFObject] { 

       for object in objects { 

        print(object.objectId) 
       } 
      } 

     } else { 
      // Log details of the failure 
      print("Error: \(error!)") 
     } 

回答

2

想通了。以下是其他人遇到此問題的代碼:

let pointer = PFObject(withoutDataWithClassName:"Book", objectId: booksObjectID) 

var query = PFQuery(className: "UserTags") 

query.whereKey("book", equalTo: pointer) 

query.includeKey("book") 

query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in 

    for object in objects! { 

     self.userTags.addObject(object) 
    } 
} 
0

documentation

InvalidQuery - 102 - Error code indicating you tried to query with a datatype that doesn't support it, like exact matching an array or object.

錯誤描述告訴你很多。這種查詢不支持按對象排隊(在你的情況下,書)。您必須使用支持的數據類型 - 例如通過書籍ID或名稱進行查詢,這些數據類型是更原始的數據類型。

+0

感謝您的回覆。所以我和你一起討論需要不同數據類型的查詢。在我的示例中,selectedBook是書對象ID的字符串。我應該用什麼來代替這個objectID才能夠爲這本書搜索標籤?感謝你的協助! – tahoecoop

+0

關鍵「book」的數據類型是什麼?這不是一個對象嗎? – RaffAl

+0

「book」是我的userTags類中的一列,它包含一個指向書對象的指針。用戶在先前的視圖控制器中選擇特定的書籍。然後,我試圖通過這本書objectID來查詢僅用於選定書籍的用戶標籤。我只是不清楚我需要在'query.whereKey(「book」,equalTo:selectedBook)中放置什麼,才能讓它爲本書拉取標籤。謝謝!! – tahoecoop