在原型单元上设置动态图像?

时间:2018-05-25 14:33:41

标签: ios uitableview swiftyuserdefaults

我想在“个人资料”单元格上显示用户的图像。 为此,我应该使用相同的片段来解决配置文件负载。

首先,我宣布了一个UIImageView!变量:

var accountimage: UIImageView!

然后,在我cellForRowAtIndexPath下载UserDefaults构建器的阿凡达:

if indexPath.row == 1 {
    cell.backgroundColor? = UIColor(red: 236/255,green: 239/255,blue: 240/255,alpha: 1)
    let myFont: UIFont? = UIFont(name: "Avenir Next Condensed", size: 22.0)
    if let aFont = myFont {
        cell.textLabel?.font = aFont
        //load account image
        if UserDefaults.standard.object(forKey: "profile_avatar") != nil{
            let decoded  = UserDefaults.standard.object(forKey: "profile_avatar") as! Data
            let decodedTeams = NSKeyedUnarchiver.unarchiveObject(with: decoded)
            accountimage.image = decodedTeams as? UIImage
            cell.imageView?.image = accountimage.image
        } else
        {
            accountimage.image = #imageLiteral(resourceName: "user.png")
            cell.imageView?.image = accountimage.image
        }
}
}

调试器在accountimage.image = decodedTeams as? UIImage行上说明了这一点:

  

线程1:致命错误:在展开时出乎意料地发现nil   可选值

修改

此处我的Main.Storyboard屏幕应该有用:

Main.Storyboard

1 个答案:

答案 0 :(得分:0)

也许你在这段代码上犯了一个小错误 let decoded = UserDefaults.standard.object(forKey: "profile_avatar") as! Data ** as!**表示强制转换,但可能会失败。