代理人を使用してNSArray値を親ビューに渡しました。- [__ NSArrayI isEqualToString:]:割り当て解除されたインスタンスにメッセージを送信
私はこのコードを実行すると、それは明らかにデリゲートを実行childviewのテーブルセルを選択するようにしたが、その後フリーズし、ログにこのエラーを発生させた場合、それがそのように
- (void) setManufactureSearchFields:(NSArray *)arrayValues withIndexPath:(NSIndexPath *)myIndexPath
{
manufactureSearchObjectString = [arrayValues valueForKey:@"MANUFACTURER"];
NSLog(@"%@",[arrayValues valueForKey:@"MANUFACTURER"]);
manufactureResultIndexPath = myIndexPath;
[self.tableView reloadData]; //reloads the tabels so you can see the value in the tableViewCell.
}
のような親ビューで受信されます
2011-10-31 14:06:16.670 code[12610:207] (
"Alfa Romeo"
)
2011-10-31 14:06:16.673 code[12610:207] *** -[__NSArrayI isEqualToString:]: message sent to deallocated instance 0x6859280
しかし、私は私のデリゲートメソッドに次の行をコメントアウトした場合
- (void) setManufactureSearchFields:(NSArray *)arrayValues withIndexPath:(NSIndexPath *)myIndexPath
{
//manufactureSearchObjectString = [arrayValues valueForKey:@"MANUFACTURER"];
NSLog(@"%@",[arrayValues valueForKey:@"MANUFACTURER"]);
manufactureResultIndexPath = myIndexPath;
[self.tableView reloadData]; //reloads the tabels so you can see the value in the tableViewCell.
}
それはクラッシュしないと私はように私のログの正しい詳細とNSLogに終わる。
2011-10-31 14:09:28.200 code[12737:207] (
Sony
)
私は誰かが以前にこのような問題を経験していたと思っています。これは私の配列オブジェクトのように見えます。その値の辞書です。
ISELECT = F;
ISALIVE = T;
MANUFACTURER = Sony;
MANUFACTURERID = 3;
あなたのキーのうちの1つがそうではありません。あなたがあまりにも多くのリリースをしたので、割り当てが解除されました。 –
コードの他の部分に問題がある可能性があります。あなたはmanufactureSearchObjectStringを使っていましたか? – Bird
確かに同じようなことを考えていますが、エラーが表示されています。これは、** label2.text = manufactureSearchObjectString; **のようにuilabelに値を渡しているところです。**私は間違っていると確信していますが、私はテキスト値に配列を配置しようとしているので、私はisequaltostringや何かをする必要があると思いますか? –