为什么字体是可选的?
Why is the font optional?
我创建了一个结构来让我的字体在全球范围内预缓存:
struct Fonts {
static let avenirRegular = UIFont(name: "AvenirNextCondensed-Regular", size: 14.0)
}
用法...:
xy.font = Fonts.avenirRegular
它告诉我,我的常量是可选的。
Value of optional type 'UIFont?' not unwrapped; did you mean to use '!' or '?'?
为什么它是可选的? AvenirNextCondensed-Regular
是否有可能并非在每个 iOS 设备上都可用?非常感谢帮助。
您为 UIFont
使用的初始化程序是 return 可选 UIFont?
对象,即您收到包装可选建议的原因。
init?(name fontName: String, size fontSize: CGFloat)
查看 UIFont
的 Apple Documentation 了解更多详情。
这里的 "optional" 意味着问题是字体可能不存在(即使我们知道它存在)并且你必须识别它,通过将它设为可选你告诉编译器我知道字体不是您图书馆的一部分,但我确定它在那里。
只需使用强制展开来防止这种情况:
struct Fonts {
static let avenirRegular = UIFont(name: "AvenirNextCondensed-Regular", size: 14.0)!
}
我创建了一个结构来让我的字体在全球范围内预缓存:
struct Fonts {
static let avenirRegular = UIFont(name: "AvenirNextCondensed-Regular", size: 14.0)
}
用法...:
xy.font = Fonts.avenirRegular
它告诉我,我的常量是可选的。
Value of optional type 'UIFont?' not unwrapped; did you mean to use '!' or '?'?
为什么它是可选的? AvenirNextCondensed-Regular
是否有可能并非在每个 iOS 设备上都可用?非常感谢帮助。
您为 UIFont
使用的初始化程序是 return 可选 UIFont?
对象,即您收到包装可选建议的原因。
init?(name fontName: String, size fontSize: CGFloat)
查看 UIFont
的 Apple Documentation 了解更多详情。
这里的 "optional" 意味着问题是字体可能不存在(即使我们知道它存在)并且你必须识别它,通过将它设为可选你告诉编译器我知道字体不是您图书馆的一部分,但我确定它在那里。
只需使用强制展开来防止这种情况:
struct Fonts {
static let avenirRegular = UIFont(name: "AvenirNextCondensed-Regular", size: 14.0)!
}