2011-08-17 3 views
27

データをコアデータに保存すると、このメッセージが表示されます。"NSScanner:nil string argument"の原因は何ですか?

NSScanner: nil string argument 

私はNSScannerメソッドを使用しませんでした。それはどこから来たの?

これはバグですか?私はそれをどうしたらいいですか?

ありがとうございました。

+0

ブレーキポイントといくつかのログをすべての日付に入れて、どのオブジェクトがゼロであるかを確認します –

+0

THX。私は私がIBで削除したテキストファイルの値を保存することがわかった。 – Jimi

答えて

34

経験から、nil文字列を持つ-[NSDecimalNumber initWithString:]文字列は、そのログメッセージを引き起こす原因の1つと言うことができます。

-[NSScanner initWithString:]にブレークポイントを設定してください。この方法でキャッチしない場合は、+scannerWithString:のようにスキャナを作成する他の方法を打ち破ってください。それが私の望ましくないログ・ステートメントを流出させる方法です。

+1

Jep、私は問題を抱えていました、この警告を記録するnil文字列で 'NSDecimalNumber'を作成しようとしました。 – Pascal

+1

NSLogの使用量が少ない場合は、エラーメッセージを生成するために使用される 'NSLog'を中断することもできます。 –

+0

これは驚くほど正確です:) – neelabh

5

FWIW、私はコアデータアプリケーションを構築している間、このメッセージを出しました。

シミュレータでアプリケーションを再構築して実行していたため、終了メソッドを使わずに実行中のプロセスを効果的に停止していました。

管理対象オブジェクトのコンテキストを保存する場所/場所によっては、不完全な管理対象オブジェクトがどこかに残っている可能性があります。その場合、アプリケーションの再起動時に値を検出すると予想されるスキャナは、ストアから返されます。

-1

このエラーは発生しましたが、nil string問題は発生していません。 私は、ストーリーボードのセルをダイナミックとして使用していますが、アトリビュートインスペクタでStatic Cellsと設定しています。その属性をDynamic Prototypesに変更し、問題を解決しました。

0

私は同じクラッシュログNSScanner: nil string argumentを持っています。

これは

  • すべては、デバイス上で正常に動作します私のsitutionです。
  • クラッシュはdequeueReusableCellWithIdentifierでのみシミュレータ

に私はその後rebuild.Everyの事は私のために正常に動作します

製品 - >クリーンことによってそれを解決しました。なぜこれが起こったのか分かりません。

関連する問題