Swift-如何从另一个JSON类别引用另一个JSON对象?

时间:2019-06-27 14:50:04

标签: json swift segue

我正在尝试从我正在使用的API的另一个JSON类别中调用对象。我有一个TableViewController和一个ViewController,可用来显示从中填充表的信息的详细信息,但是在该视图详细信息中,如果我想从另一个JSON类别调用/引用一个对象,则它可以编译但不会显示任何内容,并破坏其下方的所有标签。

当我按原样显示JSON条目时,它是指向目标对象的超链接。在第一阶段,我试图显示name属性,然后将其修改为带有详细信息的segue。

我尝试创建一个引用数据模型的可选var,然后尝试使用该属性引用name属性。我还尝试将as? ModelReference?与参考行一起使用,但返回了nil

这是数据模型:

struct Civilization: Codable {
    let uniqueUnit: [String]

    enum CodingKeys: String, CodingKey {
        case uniqueUnit = "unique_unit"
    }
}

这是我的UI代码:

class CivilizationDetailView: UIViewController {

    var detailItem: Civilization?

// This is the var to reference the other data source
    var uniqueUnitLink: Unit?


        let uniqueUnit = UILabel()
//        guard let uniqueUnitLinkString = uniqueUnitLink?.name else { return } - This is the line that I've tried to reference with
        guard let uuString = detailItem?.uniqueUnit else { return }
        uniqueUnit.font = UIFont.preferredFont(forTextStyle: .body)
        uniqueUnit.numberOfLines = 0
        uniqueUnit.text = "Unique Unit: \(String(describing: uuString))"
        mainStackView.addArrangedSubview(uniqueUnit)
}

这是当前输出:

Unique Unit: ["https://age-of-empires-2-api.herokuapp.com/api/v1/unit/jaguar_warrior"]

我正在尝试获取输出Jaguar Warrior,然后以超链接的形式为该商品的实际条目创建序列,但是我根本看不到任何输出,而且其他标签也被删除了从视图中也是如此。

非常感谢您!

0 个答案:

没有答案