2015-05-19 42 views
0

我一直在學習代碼的最後幾天在用的Xcode 1.1迅速SWIFT 1.2更新查詢與Parse.com

我剛剛更新到Xcode中的新版本,其中包括迅速1.2和我有很多錯誤的錯誤。我已經解決了一些基於stackoverflow中的其他條目,但是我有很多問題。

最大的問題是,我不完全明白如何正確地包裝和解開自選同時用塊

查詢的對象,這是我原來的代碼:

@IBAction func LoadData(){ 
    NSLog("loading data") 
    timelineData.removeAllObjects() 
    var findTimelineData : PFQuery = PFQuery(className: "posts") 
     findTimelineData.findObjectsInBackgroundWithBlock{ 
     (objects : [AnyObject]!, error : NSError!) -> Void in 
     if (error == nil){ 
      for object in objects{ 
       self.timelineData.insertObject(object, atIndex: 0) 
       println("added one post") 
      } 
     }else{ 
      NSLog("error") 
     } 

我知道,我應該開始我的塊與

(objects, error) 

,幷包括一些讓語句,但沒有我試過任職。有人能給我一些指導嗎?

謝謝 -AVF

回答

1

你嘗試:

@IBAction func LoadData(){ 
    NSLog("loading data") 
    timelineData.removeAllObjects() 
    var findTimelineData : PFQuery = PFQuery(className: "posts") 
     findTimelineData.findObjectsInBackgroundWithBlock{ 
     (objects : [AnyObject]?, error : NSError?) -> Void in 
     if (error == nil){ 
      for object in objects!{ 
       self.timelineData.insertObject(object, atIndex: 0) 
       println("added one post") 
      } 
     }else{ 
      NSLog("error") 
     } 

如果值是可選的或不依賴於findObjectsInBackgroundWithBlock功能,如果你控制一下就可以了,你可以看看是怎麼回事預計將被使用(也自動完成應該爲你創建它)

+0

真棒這對我很好。我仍然不明白如何用「?」聲明對象但隨後迭代了一個「!」在塊中。 –

+0

基本上,當你聲明的東西?意思是「這個變量可能不包含任何值(它是零)」當你使用!它的意思是「我知道這個值在某些情況下可能沒有價值,但Swift你可以相信我它在這裏有價值」 – Icaro

+0

如果你使用操作符?在一個函數的聲明中,它的意思是「我會接受這個變量的零值」!從來沒有用於聲明函數。我希望有所幫助 – Icaro