У меня есть два Viewcontrollers в FirstVC я построить 5 UITextField
для регистрации, это значение TextField являются stroed в словаре наконец словаре хранится в NSUserdefault
затем в SecondVC я хочу, чтобы показать эти данные Моя проблема заключается в том, что каждый раз, когда я добавляю новое дискреционное значение в NSUserdefault
. Старый словарь был заменен Мне нужны данные всего словаря.Как хранить несколько словаря в NSUserDefaults
ниже код моего FirstVC
-(void)btnReg
{
//data add in disctionary
for (int i=1; i<=5; i++)
{
UITextField *txtTemp=(UITextField *)[self.view viewWithTag:i];
[discRege setObject:[NSNumber numberWithInt:count] forKey:@"no"];
[discRege setObject:txtTemp.text forKey:[arraylblName objectAtIndex:i-1]];
}
//dictionary add in nsuserdefault
[[NSUserDefaults standardUserDefaults]setObject:discRege forKey:@"ABC"];
[[NSUserDefaults standardUserDefaults]synchronize];
//push to SecondVc
secondViewController *objSec=[[secondViewController alloc]init];
[self.navigationController pushViewController:objSec animated:YES];
[self.navigationController setNavigationBarHidden:false];
}
ниже код моего SecondVC
ArratTemp =[[NSUserDefaults standardUserDefaults]objectForKey:@"ABC"] ;
if (!ArratTemp)
{
ArratTemp =[[NSMutableArray alloc]init];
}
else
{
ArratTemp = [[[NSUserDefaults standardUserDefaults]objectForKey:@"ABC"]mutableCopy];
}
NSLog(@"%@",ArratTemp);
По сути, это довольно плохая привычка программирования использовать пользовательские значения по умолчанию для передачи данных между контроллерами представлений. – vadian
Да, @vadian прав, вы можете напрямую передавать данные в другие viewcontrollers. нет необходимости использовать userdefaults – Lion
да, я знаю это, но я просто хочу узнать Nsuserdefault, поэтому я его использую .. – Priya