【发布时间】:2013-11-25 03:33:51
【问题描述】:
几天后,我遇到了只在 iOS 中发生的崩溃,使用以下代码行
[myAttributedString addAttribute:NSFontAttributeName
value:[UIFont fontWithName:@"HelveticaNeue-Italic" size:myLabel.font.pointSize]
range:rangeOfSubString];
调试器给出的原因是
“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'NSConcreteMutableAttributedString addAttribute:value:range::nil value'” 异常类型:SIGABRT
我从文档中知道它的值是 nil。知道为什么 [UIFont fontWithName:@"HelveticaNeue-Italic" size:myLabel.font.pointSize] 会在 iOS 7.0.3 中返回 nil 吗? (它在 iOS 7.0.2 中运行良好)
【问题讨论】:
-
确实,HelveticaNeue Italic 在 iOS 7.0.3 中不存在。刚刚调试并检查是不是问题
-
注意:如果你拆分调用,错误会更容易被发现。依靠发布版本中的编译器优化来删除不必要/冗余的代码。编写代码让人们容易理解。
标签: ios ios7 nsmutableattributedstring