首页 > 解决方案 > 无法将“Int”类型的值分配给“String”类型

问题描述

我必须在标签中显示 int 值,但是单元格中会出现这样的错误。该代码是单元代码和模型代码。并且还有一个错误“无法将“String”类型的值分配给“UIImage”类型。我该如何解决这个错误?

var RankingData: RankingModel! {
        didSet { setUpView() }
    }
    
    private func setUpView() {
        self.RankingLbl?.text = RankingData.ranking
        self.profileImage?.image = RankingData.profileImage
        self.nickNameLbl?.text = RankingData.nickName
    }

这是我的手机密码

self.RankingLbl?.text = RankingData.ranking 错误:无法将“Int”类型的值分配给“String”类型

self.profileImage?.image = RankingData.profileImage 错误:无法将“String”类型的值分配给“UIImage”类型

    var ranking: Int = -1
    var nickName: String = ""
    var profileImage: String = ""
    
    enum RankingModelKeys: String, CodingKey {
        case ranking
        case nickName
        case profileImage
    }
}

这是我的模型代码

标签: swiftstringinteger

解决方案


Int如错误所述,您不能为to赋值String。您需要创建与以下相同类型的值,

private func setUpView() {
    self.RankingLbl?.text = "\(RankingData.ranking)"
    self.profileImage?.image = UIImage(named: RankingData.nickName)
    self.nickNameLbl?.text = RankingData.nickName
}

您可以在此处查看类型安全和类型推断以获得更好的理解。


推荐阅读