Базовый запрос данных с предикатом Swift 3 - PullRequest
0 голосов
/ 26 апреля 2018

Я знаю, как извлечь из базовых данных предикаты, используя let предикат = NSPredicate (формат: "MyEntityAttribute ==% @", "Соответствующее значение") . Я хочу знать, возможно ли получить все значения для определенного атрибута без использования Соответствующего значения. Я хочу получить общее количество значений для определенного атрибута.

Это то, что я получил до сих пор, но я получаю только то, что соответствует атрибуту name .

let filter = "wayne"

  let fetchRequest = NSFetchRequest<Likes>(entityName: "Likes")
  let predicate = NSPredicate(format: "name == %@", filter)
  fetchRequest.predicate = predicate

    do {
        let nameCount = try context.fetch(fetchRequest)
        if nameCount.count >= 0 {

            print("name exist")
        }

    }  catch{

        print(error.localizedDescription)

    }

1 Ответ

0 голосов
/ 27 апреля 2018

Я выбрал другой подход и использую NSFetchRequestResult, чтобы получить результат одного атрибута.

  let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Likes")
    fetchRequest.resultType = .dictionaryResultType
    fetchRequest.propertiesToFetch = ["name"] // Single attribute I wanted to fetch
    fetchRequest.returnsDistinctResults = true
    do {

        let result = try context.fetch(fetchRequest)

        let resultDic = result as! [[String:String]]
        print(resultDic.count)

        print(resultDic)

    }  catch{

        print(error.localizedDescription)

    }
...