Обрабатывать любые дополнительные после segue - PullRequest
0 голосов
/ 05 июля 2018

Я все еще новичок в языке swift. Я не пришел из следующего после дня поиска. После перехода я отправляю следующие данные как Any? объект.

Optional(<Hond: 0x604000297cf0> (entity: Hond; id: 0xd000000000080000 <x-coredata://9C4A92D6-5E7D-4633-827E-0E2BB6F005CA/Hond/p2> ; data: {
    chipnummer = 0;
    dierenarts = "";
    geboortedatum = "2015-11-28 08:56:33 +0000";
    geslacht = 0;
    gewicht = 0;
    hondId = "30A102CB-E0A5-49F1-ABAA-6E73CA32AF43";
    kleur = "";
    naam = Ravi;
    orderID = 1;
    plaatsVanChip = "";
    schofthoogte = 0;
    telefoonnummerDierenarts = "";
    vachttype = ""; }))

Теперь я думаю, что я должен обрабатывать данные как необязательные, но это не работает вообще. Теперь мой вопрос: как я могу отобразить такие значения, как имя и дата?

 import UIKit
 import CoreData

    class hondDetialView: UIViewController {

        var hond:Any?

        override func viewDidLoad() {
            super.viewDidLoad()
            //print(hond as Any)

            if let eenWaarde = hond {
                print(eenWaarde)
            }
            // Do any additional setup after loading the view.
        }

спасибо за вашу помощь:)

1 Ответ

0 голосов
/ 05 июля 2018

Any - худший выбор.

Это самый неопределенный тип в Swift. Он сообщает компилятору «Я не знаю, что это такое» . И компилятор не знает, что есть такие свойства, как naam и geboortedatum.

Вы знаете, что типом является Hond, поэтому объявите свойство

var hond: Hond?

даже NSManagedObject будет намного лучше, чем Any. Тогда вы можете написать

if let eenWaarde = hond {
    print(eenWaarde.naam)
}

Если segue всегда отправляет экземпляр Hond, вы можете даже объявить свойство как неявное развернутое необязательное

var hond: Hond!

и опустить необязательную привязку

print(hond.naam)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...