我想更改导航栏中的字体。但是,以下代码不起作用,它会导致应用程序崩溃。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Lato-Light.ttf", size: 34)!]
return true
}
我收到以下错误:
致命错误:unexpectedly found nil while unwrapping an Optional value(lldb)
我确实已将字体 Lato-Light.ttf 添加到我的项目中,因此它应该能够找到它。
答案 0 :(得分:17)
UIFont()
是一个可用的初始化者,可能由于多种原因而失败。使用!
进行强制解包会导致您的应用崩溃。
更好地单独初始化并检查是否成功:
if let font = UIFont(name: "Lato-Light.ttf", size: 34) {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font]
}
并检查您的字体文件是否包含在捆绑资源中。
答案 1 :(得分:2)
foreach (var edge in distinctEdge)
{
edge.value = EdgeList.Count(e => e.target == edge.target && e.source == edge.source);
}