func initializePickerViewProperties() {
let font = UIFont (name: "SanFranciscoDisplay-Regular", size: 30.0)
let highlightedFont = UIFont (name: "SanFranciscoDisplay-Bold", size: 35.0)
pickerView.font = font!
pickerView.highlightedFont = highlightedFont!
}
相当简单,有问题的pickerView是TimingLogger
如果我删除强制解包,我会收到编译错误。 “可选类型的值UIFont未解包,你的意思是使用”!“还是”?“?”
但是,当我强行打开它时,我收到运行时错误。 “致命错误:在打开可选值时意外发现nil”
答案 0 :(得分:3)
表示您的字体未正确初始化并提供nil
。你应该安全地打开它们:
func initializePickerViewProperties() {
if let font = UIFont (name: "SanFranciscoDisplay-Regular", size: 30.0),
let highlightedFont = UIFont (name: "SanFranciscoDisplay-Bold", size: 35.0) {
pickerView.font = font
pickerView.highlightedFont = highlightedFont
}
}
答案 1 :(得分:2)
尝试打印所有可用字体,并检查字体名称的拼写
for fontfamily in UIFont.familyNames{
for fontname in UIFont.fontNames(forFamilyName: fontfamily){
print(fontname)
}
}
答案 2 :(得分:0)
您必须先在 Info.plist 中添加自定义字体。
要查找 Info.plist 文件:
我用这个解决了我的问题。希望它也对您有用。