2015-05-19 3 views
0

Я учусь кода в течение последних нескольких дней на Xcode с быстрым 1.1быстрые ошибки запроса 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

Если вы используете оператора? в объявлении функции это означает «Я буду принимать значения nil этой переменной»! никогда не используется для объявления функций. Я надеюсь, что помощь – Icaro

Смежные вопросы