2

ここでは、いくつかの値を持つ2番目のvcの1つのvcパスに可変配列があります。

問題の値を変更する必要がありself.namesFoodSubCategoryます。最初のvc配列の値も変更します。

今、それを self.namesFoodSubCategory = [namesArray copy] ; 今に変更すると、それはうまくコピーされますが、その中の要素を追加または削除できず、self.namesFoodSubCategoryクラッシュが発生します。

誰かが私を助けることができますか????

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andParamArray:(NSMutableArray *)namesArray
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        self.namesFoodSubCategory = namesArray ;

        NSLog(@"In Sec   %@",self.namesFoodSubCategory);

    }
    return self;
}
4

1 に答える 1

8

このcopyメソッドは、オブジェクトの不変のコピーを作成します。可変性を維持するには、-mutableCopy代わりに、または便利なコンストラクターを使用する必要があります(ARCを使用しているため、自動リリースなどは必要ありません)。

self.namesFoodSubCategory = [namesArray mutableCopy];

また

self.namesFoodSubCategory = [MSMutableArray arrayWithArray:namesArray];
于 2013-03-15T15:10:21.467 に答える