2015-02-03 4 views
2

Я пытаюсь получить информацию из класса, содержащего 2500 записей. Этот код работал, когда я пробовал всего 1000 записей.Извлечение> 1000 записей из класса Parse

Однако, когда я помещаю его в цикл for, он выдает следующую ошибку: «NSInternalInconsistencyException», причина: «Этот запрос имеет выдающееся сетевое соединение. Вы должны подождать, пока это не будет сделано. '

Вот код:

func loadDataFromParse(){ 
    var classLimit = 2 
    println("Loading Parse data") 
    var query = PFQuery(className: "StopList") 
    query.limit = 1000 

    for (var j = 0; j < classLimit+1; j++) 
    { 
     query.skip = 1000*j 

     query.findObjectsInBackgroundWithBlock ({(objects:[AnyObject]!, error: NSError!) in 
      if(error == nil){ 
       if let stopObjects = objects as? [PFObject] { 
        for stop in stopObjects { 
         // Code goes here 
        } 
       }} 
      else{ 
       println("Error in retrieving \(error)") 
      } 

     }) 

    } 


} 

Любые идеи о том, что происходит?

ответ

3

Понял это! Необходимо повторно инициализировать переменную запроса каждый раз, когда цикл повторяется:

func loadDataFromParse(){ 
    var i = 1 
    var limit = 2 
    println("Loading Parse data") 

    for (var j = 0; j < limit+1; j++) 
    { 
     var query = PFQuery(className: "StopList") 
     query.limit = 1000 
     query.skip = 1000*j 
     query.findObjectsInBackgroundWithBlock ({(objects:[AnyObject]!, error: NSError!) in 
      if(error == nil){ 
       if let stopObjects = objects as? [PFObject] { 
        for stop in stopObjects { 
         println(i) 
         i += 1 
        } 
       }} 
      else{ 
       println("Error in retrieving \(error)") 
      }  
     })  
    } 
} 
+0

Три слова. Какой брат. – bkwebhero

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