我正在使用以下代码创建自定义导航栏类并自定义其标题属性:
self.titleTextAttributes = @{ UITextAttributeFont: bariol,
UITextAttributeTextColor: [UIColor whiteColor]
};
但是,当我运行代码时,它会返回以下错误消息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[1]'
我正在使用Xcode 4.6并在使用iOS 6的设备上运行。
答案 0 :(得分:9)
听起来您的bariol
对象是nil
。您无法将nil
存储在字典中。
修改强>
实际上,你确定这是正确的代码行吗?您的错误引用了NSPlaceholderArray
,这表明它是@[]
字面值的问题,而不是@{}
字面值。
答案 1 :(得分:6)
文字的参数(字典的值和键)不能是nil
。
如果您更喜欢不太严格的构造函数,可以考虑使用+[NSDictionary dictionaryWithObjectsAndKeys:]
代替。
答案 2 :(得分:3)
此错误似乎在其他地方。它指向对象' 1处的数组错误。在你的情况下,你有一个字典和对象' 1'是UITextAttributeTextColor: [UIColor whiteColor]
,永远不会是零。