我正在尝试从我正在使用的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
,然后以超链接的形式为该商品的实际条目创建序列,但是我根本看不到任何输出,而且其他标签也被删除了从视图中也是如此。
非常感谢您!