2015-07-19 79 views
1

我正在做一個查詢,並且正在檢查列「Parent」(它是一個指針)中的值是否等於字符串newLogObjectId。我顯然不能這樣做,因爲指針和字符串是不同的值類型,(返回nil)。如何將字符串與指針中的字符串進行比較?解析中的查詢指針(ios)

//A string, for example, "MCeKMyxRIt" 
    let newLogObjectId = objectIdArray[markerIndex] 

    let query1 = PFQuery(className: "ComparablePhotos") 
    //"Parent" is a pointer referencing an objectId in another class. "newLogObjectId" is a string How do I check to see if the String of Parent is equal to newLogObjectId, a string? 
    query1.whereKey("Parent", equalTo:newLogObjectId) 

enter image description here

回答

1

指針在解析不點的值,它們指向一個類(一個PFObject)。所以它看起來像名爲Parent的指針指向解析類NewLog。我假設你想檢查的字符串是類NewLog中的一個字段。另外,要在查詢中包含指針,請使用query1.includeKey("PointerName")。試試這個:

let newLogObjectId = objectIdArray[markerIndex] 

let query1 = PFQuery(className: "ComparablePhotos") 
query1.includeKey("Parent") 
query1.findObjectsInBackgroundWithBlock({ (objects: [AnyObject]?, error: NSError?) -> Void in 
    if (error == nil){ 
     if let comparablePhotos = objects as? [PFObject]{ 
      for photo in comparablePhotos { 
       if let parentPointer:PFObject = photo["Parent"] as? PFObject{ 
        if(parentPointer["columnWithString"] as! String == newLogObjectID){ 
         // Do something 
        } 
       } 
      } 
     } 
    }else{ 
     println(error) 
    } 

}) 
+0

謝謝,我試過了,但NewLog正在拋出一個錯誤。 「使用未聲明的類型NewLog」 –

+0

謝謝。我還有一個關於parentPointer的錯誤....它的「使用未解析的標識符」parentPointer'「 –

+1

必須刪除第一次編輯時的變量聲明,我的錯誤!這現在應該適合你。 –