2011-08-15 7 views
0

Ive는 이것에 관한 다른 많은 질문을 보았습니다. (나는 많이 알지만!), 아무도 내 쿼리를 만족시키지 못하는 것 같습니다. 기본적으로 나는 두 개의 UITextField를 포함하는보기 컨트롤러가 있습니다. 이 페이지가로드되고 사용자가 숫자를 입력 한 다음 배경을 두드리면 키보드가 제거되고 값이 저장되도록 앱이 설계되었습니다. 그런 다음 사용자가 페이지를 다시 탐색 할 때마다 텍스트 필드에 미리로드되기를 원합니다. 나는 saveData 또는 something이라는 또 다른 IBAction을 만들어야한다고 생각하지만 배경이 도청되면 자동으로 저장하는 방법이 있습니까? 또한 NSUserDefaults를 사용하려고 생각했던 데이터를 저장하려면 데이터를 저장하는 다른 방법이 있습니까? 어떤 도움에 감사드립니다, 마이클 나는 내 응용 프로그램의 편집 및 배경 탭 부분에 대해 다음 코드를 사용 :UITextField 입력 저장

-(IBAction) textFieldDoneEditing : (id) sender{ 

[sender resignFirstResponder]; 

}

- (IBAction를) backgroundTap (ID) 보낸 사람 {

[self.textInputOne resignFirstResponder]; 
[self.textInputTwo resignFirstResponder]; 

}

답변

3

NSUserDefaults이 멋지게 작동합니다

-(IBAction) backgroundTap:(id) sender { 

    NSString *inputOne = textInputOne.text; 
    NSString *inputTwo = textInputTwo.text; 

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    [userDefaults setObject:inputOne forKey:@"InputOne"]; 
    [userDefaults setObject:inputTwo forKey:@"InputTwo"]; 

    [textInputOne resignFirstResponder]; 
    [textInputTwo resignFirstResponder]; 
    [sender resignFirstResponder]; 
} 

다음 - (void)viewDidLoad 호출 다시 저장 NSUserDefaults에 :

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
textInputOne.text = [userDefaults objectForKey:@"InputOne"]; 
textInputTwo.text = [userDefaults objectForKey:@"InputTwo"]; 

매우 좋은

+0

감사를 작동해야이 너무 많이 도움이, 감사합니다 다시! –

1

당신은 (응용 프로그램이 닫혀 특히) 데이터를 저장하려면 NSUserdef aults는 그것을하기위한 멋지고 쉬운 방법입니다. 다른 옵션으로는 자신의 plist 파일에 쓰거나 핵심 데이터 저장소를 설정하는 것이 포함되지만, 두 개의 숫자 만 저장하면 모든 것이 필요하지는 않습니다.