2015-07-25 2 views
0

У меня есть список запросов, которые нужно сделать на Parse.com с помощью API swif для выполнения задач, которые были запрограммированы после приложения. Некоторые тесты показывают, что если я загружаю все сразу, общее время медленное, я использую несколько запросов. Однако я не мог понять, как я могу запросить множество «случайных» объектов из Pase.com (у меня есть список, конечно, по случайному, я имею в виду не по порядку, а не по фиксированному номеру)Множество запросов на синтаксический анализ сразу

На данный момент я использую петля и вызов многим:

let pred = NSPredicate(format: "newDataID = %@, dataID[i]) 
query.findObjectsInBackgroundWithBlock { (result:[AnyObject]?, error:NSError?) 

Я думал в Автогенерация строку для предиката, но он может получить очень долго, что я изображение будет сделать запрос очень медленно.

Любые идеи?

ответ

2

При любых обстоятельствах, инициирование множества запросов в плотной петле не рекомендуется. Вместо этого отправьте массив dataID в облачную функцию. Кроме того, если его действительно массив объектов идентификаторами, то найти это неправильный метод, используйте получить() вместо того, чтобы ...

var _ = require('underscore'); // underscore includes many handy functions, including map and toArray 

Parse.Cloud.define("getManyObjectsById", function(request, response) { 
    var dataID = request.params.dataID; 
    var promises = _.map(dataID, function(anID) { 
     var query = new Parse.Query("MyCustomClassName"); 
     return query.get(anID); 
    }); 
    Parse.Promise.when(promises).then(function() { 
     response.success(_.toArray(arguments)); 
    }, function(error) { 
     response.error(error); 
    }); 
}); 

назвать ...

PFCloud.callFunctionInBackground("getManyObjectsById", withParameters: dataID) { 
    (objects: [AnyObject]?, error: NSError?) -> Void in 
     // objects should be an array of objects corresponding to the ids 
} 
+0

Спасибо Я вытягиваю мои волосы, чтобы понять, как использовать код javascript, который вы публикуете выше, используя синтаксический анализ, как его загрузить? Заранее спасибо – Icaro

+0

См. Раздел документации по облачному коду. (см. ссылки в разделе Начало работы https://parse.com/docs/ios/guide#cloud-code). Вы получите небольшой инструмент командной строки, который позволит вам развернуть JS-функцию в вашем приложении. – danh

+0

У меня были проблемы с частью развертывания в выходные, я думаю, что я просто выгорал сегодня, было так просто! В каком файле/каталоге я должен добавить этот код? Благодаря! – Icaro

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