我想在“个人资料”单元格上显示用户的图像。 为此,我应该使用相同的片段来解决配置文件负载。
首先,我宣布了一个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
屏幕应该有用:
答案 0 :(得分:0)
也许你在这段代码上犯了一个小错误
let decoded = UserDefaults.standard.object(forKey: "profile_avatar") as! Data
** as!**表示强制转换,但可能会失败。