Swift中的UIFont Class Crashed应用程序

时间:2015-06-22 11:48:31

标签: ios swift class uifont

我有一个UIFont类,如下所示:

struct FontHelper {
    func defaultFont(size: CGFloat) -> UIFont {
        return UIFont(name:"Helvetica", size: size)!
    }
}

我打电话给这个方法“

let fonts = FontHelper.defaultFont(12)

然而我的应用程序在包装可选项时遇到意外发现的nil崩溃了吗?

不知道为什么?

3 个答案:

答案 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 中的字体并输入命令+来查找/验证该字体我

也许这有助于你。