我有一个UIFont类,如下所示:
struct FontHelper {
func defaultFont(size: CGFloat) -> UIFont {
return UIFont(name:"Helvetica", size: size)!
}
}
我打电话给这个方法“
let fonts = FontHelper.defaultFont(12)
然而我的应用程序在包装可选项时遇到意外发现的nil崩溃了吗?
不知道为什么?
答案 0 :(得分:5)
由于您要将自己的个人功能添加到 Type ,我认为您应该使用 扩展程序 ,声明此班级以外的扩展 :
extension UIFont {
// You can set a default value for the size if the user doesn't provide one.
class func defaultFont(_ size: CGFloat = 12) -> UIFont {
return UIFont(name:"Helvetica", size: size)!
}
}
现在, UIFont 类型具有您刚添加的非常酷的功能。
在课堂上,请致电:
let font = UIFont.defaultFont(12)
我希望您能在此处看到 扩展程序 的强大功能,因此请在 Swift 中充分利用它们!
答案 1 :(得分:4)
它应该像这样调用
let fonts = FontHelper().defaultFont(mySize)
答案 2 :(得分:1)
当您使用UIFont(name:"HelveticaCE-Regular", size:14.0)
我相信iOS在使用fontWithName: size:
时需要使用PostScript名称作为字体,您可以通过打开 Apple的Font Book 中的字体并输入命令+来查找/验证该字体我
也许这有助于你。