에서 여러 사전을 저장하려면이 텍스트 필드의 값이 마지막으로 NSUserdefault
에 저장된 사전이 다음 SecondVC에 내가이 데이터를 표시 할 사전에 stroed된다 내 문제가 있다는 것입니다 때마다 내가 임의의 것을 추가 할 때 NSUserdefault
이전의 사전이 바뀌었다 나는 모든 사전의 데이터를 원한다. 아래은 어떻게 등록 5 <code>UITextField</code>를 구축 내가 FirstVC 두 Viewcontrollers이 NSUserDefaults
는
-(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이 옳다. 다른 뷰 컨트롤러에 직접 데이터를 전달할 수있다. 아무 필요도 userdefaults를 사용하지 않아도된다 – Lion
예 나는 그것을 알고있다. 그러나 나는 단지 내가 그것을 사용하는 이유 인 Nsuserdefault를 배우고 싶다. .. – Priya