、NSMutableDictionary割り当て<code>NSMutableDictionary</code>の問題に直面し
私はdictMain
ある一つのメイン可変辞書、dictSubMain
ある別の可変辞書を、撮影
、以下のように
宣言ViewController.mファイル内を持っています、
@interface ViewController()
{
NSMutableDictionary *dictMain;
NSMutableDictionary *dictSubMain;
}
ここでいくつかの値はdictMain
最初はviewDidLoadメソッドから取得します。
私は非常に最初に、私は別の可変辞書dictSubMain
へdictMain
を割り当てています、私はdictSubMain
にいくつかの変更をしたが、問題は、私は同じ変更もdictMain
に反映することdictSubMain
で作っていますどのような変化であるもの別の方法を、持っています。私はdictMain
に変更を加えたくありません。
以下の私のコードは、
-(void)addRowsInTable:(NSInteger)index
{
dictSubMain = [[NSMutableDictionary alloc] initWithDictionary:dictMain];
NSMutableArray *tmpArray = [[NSMutableArray alloc] init];
NSMutableDictionary *tmpDic = [[NSMutableDictionary alloc] init];
[tmpDic setObject:self.btnTTNumDent.currentTitle forKey:kNUMDENT_T];
[tmpDic setObject:self.btnTTSizeDent.currentTitle forKey:kSIZEDENT_T];
[tmpArray addObject:tmpDic];
[[[dictSubMain valueForKey:kDATA] objectAtIndex:index] setObject:tmpArray forKey:kTABLE];
}
誰もがそれを解決するために私を助けることができます!前もって感謝します。
自分自身と他の人を混乱させるのをやめてください。プロパティを宣言します。また、インスタンス変数をアンダースコアで始めるようにします。プロパティ、インスタンス変数、グローバル変数、パラメータ、ローカル変数はすべてコード内で同じに見えるので、バグを見つけにくいでしょう。また、valueForKeyは使用しないでください。そのドキュメントを読んで使用したい場合はそれを使用しますが、理由はありません。 – gnasher729