2015-06-06 2 views
0

Мне нужно сделать запрос из моего приложения в swift. Я использую cloudKit, поэтому я не могу использовать язык SQL.Как использовать предикат «IN» в Swift для выполнения ckQuery?

Я хочу написать инструкцию, которая похожа на:

SELECT * ОТ Парола ГДЕ IDParola В ("1", "4", "5", "10"); // И так далее с номерами

Я читал, что в стрижа я должен использовать NSPredicate, поэтому я пишу:

вар предикат = NSPredicate (формат: «IDParola IN { "1", "2" } ") пусть запрос = CKQuery (RECORDTYPE: "Parola", предикат: предикат)

Но этот код дает мне ошибку:" завершающему приложение из-за неперехваченное исключение 'CKException', причина: «Неожиданное выражение: IDParola IN {1, 2} ' *** Первый стек вызовов броска ... "

Я читаю эту страницу: https://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKQuery_class/index.html, я пробовал без ", я пробовал всеми способами (я думаю), но это не работает. Он работает только тогда, когда я пишу:

вар предикат = NSPredicate (формат: "IDParola = 1") Пусть запрос = CKQuery (RECORDTYPE: "Parola", предикат: предикат)

Но с этим кодом я retrive только одна запись ... Кто может мне помочь? Благодарю вас первым!

ответ

1

Вы можете попробовать это:

var predicate = NSPredicate(format: "IDParola IN %@", [1, 2]) 
let query = CKQuery(recordType: "Parola", predicate: predicate) 
+0

Это работает! Спасибо!! Идеально! –

+1

Не беспокойтесь, я рад слышать, что он решил вашу проблему! :) – Bannings