Používam program NSPredicate v aplikácii Swift 3 (v Xcode). Snažím sa prinútiť požiadavku vyhľadať viac slov naraz. Napríklad: [b, c, t] by sa hľadali kosti, kužele a tón. Ako to môžem dosiahnuť?
let conv = "[b,c,t]one"
let pred = NSPredicate(format: "name CONTAINS[cd] %@", conv)
request.predicate = pred
Skúšal som [z, ż, ź] im [n, ń] y pre zimny, zimńy, żimny, żimńy a tak ďalej. Zdá sa, že to nefunguje. Aká je syntax pre tento druh dotazu?
odpovede:
2 pre odpoveď č. 1Môžete použiť operátor „MATCHES“ so vzorom regulárneho výrazu. Napríklad v
let pattern = "[bct]one"
let pred = NSPredicate(format: "name MATCHES %@", pattern)
„[bct]“ je a trieda znakov a zodpovedá niektorému zo znakov „b“, „c“, „t“, takže predikát sa zhoduje s reťazcami „bone“, „cone“ a „tone“.