我添加了一个返回属性字符串的属性字符串方法时出现崩溃,崩溃是:
-[_SwiftValue count]: unrecognized selector sent to instance
这是我的代码:
func attributedTextForTitle(name: String, indexPath: IndexPath) -> NSAttributedString {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = NSTextAlignment.right
let nameIndexPath = String(indexPath.row + 1)
let attStringText = "\(nameIndexPath). \(name)"
let multipleAttributes: [String : Any] = [
NSForegroundColorAttributeName: UIColor.white,
NSFontAttributeName: UIFont(name: "Alef-Bold", size: 16.0)!,
NSParagraphStyleAttributeName : paragraphStyle,
NSWritingDirectionAttributeName : NSWritingDirection.rightToLeft
]
return NSAttributedString(string: attStringText, attributes: multipleAttributes)
}
有人可以识别出似乎是什么问题吗?另外,在没有问题的情况下,我怎样才能在下一次自己找出问题;)
答案 0 :(得分:1)
我把它放在操场上,看看错误来自哪里很有趣。事实证明,您创建'multipleAttributes'的行就是问题所在。具体做法是:
UIFont(name: "Alef-Bold", size: 16.0)
这是返回nil并最终使函数抛出那个奇怪的错误。
我将该行拉出来,然后在将其抛入multipleAttributes数组之前进行一些错误检查。