为什么我得到的是 "Value of optional type UIFont not unwrapped",但展开后得到的是 "unexpectedly found nil while unwrapping an optional"?
Why am I getting a "Value of optional type UIFont not unwrapped", but unwrapping gives "unexpectedly found nil while unwrapping an optional"?
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 是一个 AKPickerView
如果我删除强制解包,我会收到编译器错误。 "Value of optional type UIFont not unwrapped, did you mean to use "!" 或 "?"?"
但是,当我强制解包时,出现运行时错误。 "fatal error: unexpectedly found nil while unwrapping an Optional value"
表示你的字体没有正确初始化,给出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
}
}
尝试打印所有可用字体,并检查字体名称的拼写
for fontfamily in UIFont.familyNames{
for fontname in UIFont.fontNames(forFamilyName: fontfamily){
print(fontname)
}
}
您必须先在 Info.plist.
中添加 自定义字体
要查找 Info.plist 文件:
- 确保您已将自定义字体导入到您的项目中。
- 单击项目导航器最顶部的蓝色图标——项目本身。
- 转到信息 选项卡。
- 查找应用程序提供的字体。
- 然后,单击 加号图标 将新的键值对添加到我们的 Info.plist。
- 添加您导入的字体的确切文件名,包括文件扩展名。
我用这个解决了我的问题。希望它也对你有用。
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 是一个 AKPickerView
如果我删除强制解包,我会收到编译器错误。 "Value of optional type UIFont not unwrapped, did you mean to use "!" 或 "?"?"
但是,当我强制解包时,出现运行时错误。 "fatal error: unexpectedly found nil while unwrapping an Optional value"
表示你的字体没有正确初始化,给出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
}
}
尝试打印所有可用字体,并检查字体名称的拼写
for fontfamily in UIFont.familyNames{
for fontname in UIFont.fontNames(forFamilyName: fontfamily){
print(fontname)
}
}
您必须先在 Info.plist.
中添加 自定义字体要查找 Info.plist 文件:
- 确保您已将自定义字体导入到您的项目中。
- 单击项目导航器最顶部的蓝色图标——项目本身。
- 转到信息 选项卡。
- 查找应用程序提供的字体。
- 然后,单击 加号图标 将新的键值对添加到我们的 Info.plist。
- 添加您导入的字体的确切文件名,包括文件扩展名。
我用这个解决了我的问题。希望它也对你有用。