2016-12-28 5 views
0

モーダルクラスで初期化されているNSMutableArrayで、国番号&がJSONから応答している都市を割り当てる必要があります。なぜ、RemoveAllObjects、nilを割り当ててNSMutableArrayを初期化するとiOS Appがクラッシュするのですか?

私は解放されたオブジェクトのエラー

間違ったチェックサムとクラッシュしていることをやって、新しい州や都市を設定するために、すべてのオブジェクトを削除する必要があります - オブジェクトはおそらく、解放された後 を修正しました。答えhttps://stackoverflow.com/a/12050676/5568169で、その後

をデバッグするmalloc_error_breakにブレークポイントを設定 ***はmutableArrayにnilを代入すると、動作することを知って来て、それが働いていた、しかし、今のユーザーは、再び別の国を選択することができ、だから今メモリ[myMutableArray alloc] init]]を割り当てます、私は私が開始に入っていたのと同じエラーを与える。

-(void)fetchStates:(NSString*)idString { 

     [registrationModalContactVC.allStateArray removeAllObjects]; 
     registrationModalContactVC.allStateArray = nil; 
     [registrationModalContactVC.allStateDict removeAllObjects]; 
     registrationModalContactVC.allStateDict = nil; 
     registrationModalContactVC.allStateArray = [NSMutableArray new]; 
     registrationModalContactVC.allStateDict = [NSMutableDictionary new]; 
} 

親切にあなたはドンこれではありません

+0

同じエラーを与える可能性? – Tj3n

+0

ここではこの配列を使用しています –

+0

私はピッカービューでこの配列を使用していますが、実際には3つのピッカービュー、1つは国、次に1つは州、次に都市です。 –

答えて

0

助ける:

[myMutableArray alloc] init] 

何をする意味は次のとおりです。

myMutableArray = [[NSMutableArray alloc] init]; 
+0

はい、あなたは何を提案しています。 –

0

私はあなたのmutablearrayでのデータソースだと思いますpickview、すべてのオブジェクトを削除すると、pickviewのステータスはどうなりますか?

+0

いいえ、私はパラメータを配列としてpickerViewメソッドに渡しています。配列に項目が表示されます。 私は問題がJSONからデータを解析することになるかもしれないと思っています。再試行しています –

+0

状態配列が何も空白を表示しているだけです。つまり、配列を初期化する場所がすべてです。 –

+0

nslog(@ "% "、registrationModalContactVC.allStateArray); –

0

取り組んでいるコードの下に削除するが、それだけでも、クラッシュを引き起こす `removeAll`または`配列= [[NSMutableArrayのののalloc]を初期化] `使用しない再び

registrationModalContactVC.allStateArray = nil; 
registrationModalContactVC.allStateDict = nil; 
registrationModalContactVC.allStateArray = [NSMutableArray new]; 
registrationModalContactVC.allStateDict = [NSMutableDictionary new]; 
関連する問題