Извлечь основные данные в виде списка через запятую - PullRequest
0 голосов
/ 15 марта 2019

Я понимаю, что упускаю что-то простое, но как новичок Свифта я хожу по кругу и был бы признателен за указатель на то, что я делаю неправильно ?!

У меня есть базовый объект данных под названием «Numbers» с атрибутом (Int16), который называется «userNumbers».Я получаю результаты как:

let appDelegate = UIApplication.shared.delegate as! AppDelegate

    let context = appDelegate.persistentContainer.viewContext

    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Numbers")
    //request.predicate = NSPredicate(format: "age = %@", "12")
    request.returnsObjectsAsFaults = false
    do {
         let result = try context.fetch(request)
        for data in result as! [NSManagedObject] {
            print("\(data.value(forKey: "userNumbers") as! Int16)")
        }

    } catch {            
        print("Failed")
    }

Результат в моей консоли:

12

13

18

19

21

Мне нужно знать, как сделать этот список разделенным запятыми, чтобы я мог использовать его в массиве.По сути, мне нужно, чтобы возвращение было: 12,13,18,19,21

Все, что я пытаюсь сделать, кажется неправильным!

1 Ответ

0 голосов
/ 15 марта 2019

Прежде всего создайте более конкретный запрос на выборку, чтобы получить отдельный тип результата

let request = NSFetchRequest<Numbers>(entityName: "Numbers")

A список, разделенный запятыми невозможен, поскольку тип userNumbers является числовым.

Вы можете map получить результат в массиве Int16 с помощью

do {
    let result = try context.fetch(request) // the type is [Numbers]
    let numberArray = result.map{$0.userNumbers}
    print(numberArray)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...