为什么我得到一个“可选类型 UIFont 的值未解包”,但解包给出“在解包可选类型时意外发现 nil”?

chr*_*s P 1 optional uifont ios swift forced-unwrapping

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!
}
Run Code Online (Sandbox Code Playgroud)

相当简单,有问题的pickerView是一个AKPickerView

如果我删除强制解包,我会收到编译器错误。“可选类型 UIFont 的值未展开,您的意思是使用“!”还是“?”?

但是,当我强制打开它时,会出现运行时错误。“致命错误:在展开可选值时意外发现 nil”

小智 5

尝试打印所有可用的字体,并检查您的字体名称的拼写

 for fontfamily in UIFont.familyNames{
        for fontname in UIFont.fontNames(forFamilyName: fontfamily){
            print(fontname)
        }
    }
Run Code Online (Sandbox Code Playgroud)