segue之后处理任何可选的

时间:2018-07-05 20:33:24

标签: swift core-data optional

我的语言还是新手。经过一天的搜寻,我不是来自以下国家。 检定后,我将以下数据作为“任何”发送?对象。

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 :(得分:1)

Any是最糟糕的选择。

它是Swift中最不确定的类型。它告诉编译器我没有什么想法。而且编译器不知道有naamgeboortedatum之类的属性。

您知道类型为Hond,因此声明属性

var hond: Hond?

即使NSManagedObject也会比Any好得多。然后你可以写

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

如果segue总是发送一个Hond实例,您甚至可以将该属性声明为隐式未包装的可选

var hond: Hond!

并省略可选的绑定

print(hond.naam)