Невозможно получить данные ядра с условием, подобным SQL - PullRequest
1 голос
/ 24 октября 2019

позвольте мне иметь базовую базу данных в быстром ios У меня есть одна сущность: «игрок» В этой сущности есть три строки. «Player_id», «Player_name», «Team_name»

И успешно сохранить данные в этой структуре.

Моя проблема в том, что я хочу получить данные с помощью запроса, например, SQL Я хочу получить, как этот

where (Team_name == "Barcelona")

{

array = [player_name(index.row)]

}

Пожалуйста, помогите мне, ребята.

Мой код выборки еще не верен. Я искал в Google и нашел это

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Player")

// Add Sort Descriptor
let sortDescriptor = NSSortDescriptor(key: "team_name", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]

// Add Predicate
let predicate = NSPredicate(format: "team_name CONTAINS[c] %@", "Barcelona")
fetchRequest.predicate = predicate

do {
    let records = try managedObjectContext.fetch(fetchRequest) as! [NSManagedObject]

    for record in records {
        print(record.value(forKey: "player_name") ?? "no name")
    }

} catch {
    print(error)
}

1 Ответ

0 голосов
/ 24 октября 2019

Предикаты и дескрипторы сортировки чувствительны к регистру.

Если атрибут Team_name, дескриптор сортировки и предикат должны быть

let sortDescriptor = NSSortDescriptor(key: "Team_name", ascending: true)

let predicate = NSPredicate(format: "Team_name CONTAINS[c] %@", "Barcelona")

, а также

print(record.value(forKey: "Player_name") ?? "no name")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...