我有一个NSMutableArray
和 2 NSDictionaries
。我想在一个 VC 中按下按钮时将它们保存到另一个类。问题是,当我稍后检索这些数组时,当我已经对它们进行了更改时,我得到的不是我正在保存的数组,而是检索时的实际数组。
可能是什么原因?我尝试使用这种方法创建新的数组和字典,但没有帮助:
- (void)recordValues {
NSMutableArray *betaArray = [NSMutableArray arrayWithArray:labelsArray];
newMailVC.bakcupLabelsArray = betaArray;
NSLog(@"LABELS ARRAY COUNT ON SAVE IS %i", labelsArray.count);
NSMutableDictionary *alphaDictionary = [NSMutableDictionary dictionaryWithDictionary:labelsDictionary];
newMailVC.backupLabelsDictionary = alphaDictionary;
NSMutableDictionary *betaDictionary = [NSMutableDictionary dictionaryWithDictionary:senderEmailsDictionary];
newMailVC.backupEmailsDictionary = betaDictionary;
}
PS我不能使用NSUserDefaults
,因为NSArrays
包含UIViews
并且我想将数组转移到另一个视图,在我按下按钮并使用上述方法保存它们时的状态,而不是视图卸载的状态。谢谢。
编辑:我检索这样的值ViewDidAppear
:
- (void)retrieveValues {
labelsArray = newMailVC.bakcupLabelsArray;
labelsDictionary = newMailVC.backupLabelsDictionary;
senderEmailsDictionary = newMailVC.backupEmailsDictionary;
NSLog(@"LABELS ARRAY COUNT ON RETRIEVE IS %i", labelsArray.count);
}
当我第一次这样做时,一切都很好,但是当我第二次这样做时NSLog
,我的数组中有 0 个对象。