Что я могу использовать вместо «для» в Swift - PullRequest
0 голосов
/ 04 ноября 2018

У меня очень начинающий вопрос.

Прежде всего, у меня есть сущность (персона) с атрибутом (именем).

Я хочу получить атрибуты имени в один массив, чтобы выбрать случайный элемент. Следующий код успешно возвращает данные в отдельные массивы:

    let appDelegate = UIApplication.shared.delegate as! AppDelegate
    let context = appDelegate.persistentContainer.viewContext
    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")
    request.returnsObjectsAsFaults = false

    var myArray: [String]?

    do {

        let results = try context.fetch(request)

        for result in results as! [NSManagedObject] {

            if let username = result.value(forKey: "name") as? String {
                myArray = [username]
                print(myArray!)
            }
        }
    }
    catch {
        print("not successful")
    }

Что я могу использовать вместо ' FOR '? И как?

Большое вам спасибо, и извините за мой первый вопрос.

1 Ответ

0 голосов
/ 04 ноября 2018

Вы можете привести к действительному имени сущности

var myArray = [String]()

do {
       let results = try context.fetch(request)
       myArray  = (results as! [Person]).compactMap { $0.name }  
       print(myArray) 
}
catch {
    print("not successful")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...