12

カスタム ナビゲーション バー クラスを作成し、次のコードを使用してタイトル属性をカスタマイズしています。

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 を使用するデバイスで実行しています。

4

3 に答える 3

10

あなたのbariolオブジェクトはのようですnilnil辞書に保存することはできません。

編集:

実際、それが正しいコード行であると確信していますか? あなたのエラーは を参照しています。これは、リテラルではなくリテラルNSPlaceholderArrayの問題であることを示唆しています。@[]@{}

于 2013-02-26T22:34:44.040 に答える
6

リテラル (辞書の値とキー) のパラメーターは、 であってはなりませんnil

それほど厳密でないコンストラクターを使用する場合は、+[NSDictionary dictionaryWithObjectsAndKeys:]代わりに使用することを検討してください。

于 2013-02-26T21:30:33.373 に答える
5

このエラーは別の場所にあるようです。オブジェクト '1' の配列エラーを指しています。あなたの場合、辞書があり、オブジェクト '1' はUITextAttributeTextColor: [UIColor whiteColor]nil になることはありません。

于 2015-06-04T00:33:12.813 に答える