2015-05-19 45 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