Swift中的UIFont Class Crashed应用程序

use*_*353 1 class uifont ios swift

我有一个UIFont类,看起来像这样:

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

我称之为这样的方法"

let fonts = FontHelper.defaultFont(12)
Run Code Online (Sandbox Code Playgroud)

然而,我的应用程序崩溃与意外发现nil包装可选?

不明白为什么?

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

现在,UIFont Type具有您刚添加的非常酷的功能.

在你的课堂上,称之为:

let font = UIFont.defaultFont(12)
Run Code Online (Sandbox Code Playgroud)

我希望你能在这里看到扩展的强大功能,所以在Swift中充分利用它们!