2015-05-24 50 views
0

我想在我的應用程序中使用Parse(parse.com)來存儲數據集成「投票」功能。 我的問題是,當我嘗試發送投票++到服務器,它不會去。 這裏是源代碼:上傳Int在背景Parse.com

型號:

class PARSESearch { 
var votes:Int? 

init(pfObject: PFObject) { 
self.votes = pfObject["votes"] as? Int 
} 

func toPFObject() -> PFObject { 
let planeObject = PFObject(className: "Search") 
planeObject["votes"] = votes 
return planeObject 
} 

而在的viewController的功能實現:

var parseObject:PFObject? 

     if(parseObject != nil) { 
     if var votes:Int? = parseObject!.objectForKey("votes") as? Int { 
      votes!++ 

      //parseObject!.setObject(votes!, forKey: "votes"); 
      parseObject!.setObject(votes!, forKey: "votes"); 
      parseObject!.saveInBackground(); 

      votesLabel?.text = "\(votes!)"; 
     } 
    } 

可能來自於事實,我只是的parseObject問題: PFObject?它不是指任何類別或其​​他任何東西?

我希望你能幫助我,我是14,所以如果你能提供源代碼,這將真正幫助我:)

親切的問候,

回答

0

好了,解決的辦法是:

 var query = PFQuery(className: "Search") 
    query.getObjectInBackgroundWithId(parseSearch.objectId) { 
     (votes: PFObject?, error: NSError?) -> Void in 
     if error != nil { 
      println(error) 
     } else { 
      if let votes = votes { 
       votes.incrementKey("votes") 
       votes.saveInBackground() 
      } 
     } 
    } 

你可以找到對象,查詢......在parse.com/docs/ios/guide

感謝您幫助我!

0

當您設定對象這次投票爲int鍵入它應該是一個對象。嘗試修改後的代碼,讓我知道它是否有效。

if(parseObject != nil) { 
     if var votes:Int? = parseObject!.objectForKey("votes") as? Int { 
      votes!++ 

      //parseObject!.setObject(votes!, forKey: "votes"); 
      parseObject!.setObject(votes! as? String, forKey: "votes"); 
      parseObject!.saveInBackground(); 

      votesLabel?.text = "\(votes!)"; 
     } 
} 
+0

你好Rahul,你的代碼不工作...我問自己,如果它不是因爲「parseObject」,因爲它不涉及任何類名或任何東西 – Antoine

+0

嘗試修改後的代碼。 –

+0

no still not not,but I tried with「parseObject!.setObject((votes!as?String)!,forKey:」votes「);」因爲用你的代碼我有一個錯誤:「可選類型字符串的值?不解開」,但已經感謝幫助我:) – Antoine