"initWithObjects:forKeys:count:]:オブジェクトからnilオブジェクトを挿入しようとするバグに大きな問題があります[6] '"エラーメッセージ。それは3回目の試行の周りにのみ発生し、それ以外の場合にはうまくいきます。私は特定の状況でうまくいったデバッグされたバグを避けているので、なぜ私は助けを求めているのですか?解決策を見つけるのは難しいかもしれませんが、どこでアドバイスを受けるのがうれしく、どこで問題を探すのか、どうやってデバッグするのですか?NSDictonaryを持つBuggが "nilを挿入しようとしました"という応答でクラッシュすることがありました
私のアプリには、基本的にオブジェクトを持つNSDictonaryリストをサーバーに送信するメソッドがあります。場合によっては、ユーザーがそのリストに対して何も選択していない場合、オブジェクトを削除したいと思うことがあります。問題は、サーバーが空のスペースを持つオブジェクトを送信するのと同じように死んでいないことです。だから、私は一見素晴らしいものではありませんでした。基本的に、IBactionは、オブジェクトにnilが含まれているかどうかをチェックします。もしそれがnilを含んでいれば、それはNilを含むオブジェクトなしで非常に似たNSDictonaryにリダイレクトされます。それはいくつかのケースで目覚めますが、それはときどきnilを含むオブジェクトを認識しないようです。
コードをリダイレクトするInactionのコードは次のとおりです。私はオブジェクトに何かを挿入するためのメソッドを作成していない:@ "DefaultCreateImageID"まだ私はそれが常にゼロでなければならないことを知っている限り。
NSString *Imagestuff= [[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"];
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"] != (NSString *) [NSNull null] ){
DataHandler *handler = [DataHandler sharedDatahandler];
handler.authenticateUserDelegate = self;
[handler createActivityNoImage];
NSLog(Imagestuff);
}
else
{
DataHandler *handler = [DataHandler sharedDatahandler];
handler.authenticateUserDelegate = self;
[handler createActivity];
}
ありがとうございます!
私は簡単に何か他のものに置き換えることができますが、それは本当の問題を解決しません。私のメソッドは、ユーザーがそのオブジェクトにanyhitngを追加したかどうかを知る必要があります。彼らが持っていない場合、私はそのオブジェクトをサーバーに送信する必要はありません。問題は、文字列にnilが含まれているかどうかを尋ねると、時々それを見逃しているように見え、stilはNSDictonaryにそれを送ります。このエラーは、nilを含むオブジェクトが送信されたときに作成されます。もし私が何か他のものに置き換えてしまうと、ブランク空間のように、サーバーはまだエラーを出すでしょう。 –