사용자가 입력하는 내용을 저장해야하는 ipad에 대한 마스터 세부 응용 프로그램을 만듭니다 (팝업보기의 레이블에 텍스트를 넣는 팝업보기의 단추 사용) 마스터 뷰 컨트롤러의 테이블보기 셀에 있습니다.Xcode는 NSUserDefaults를 사용하여 마스터보기 컨트롤러에 데이터를 저장합니다.
그래서 기본적으로 나는 inputDisplayLabel이라는 UILabel을 포함하는 popover 뷰를 가지고 있으며 사용자가 버튼 텍스트를 누르면 UILabel에 들어간 버튼을 누릅니다. 입력 버튼을 누르면 해당 텍스트가 테이블 뷰 셀에 추가됩니다. 이제 그 테이블 뷰에있는 내용을 저장하려고합니다. 응용 프로그램을 종료하고 다시 시작하면 텍스트가 여전히 tableview cel에 남아있게됩니다.
나는 SaveValue라는 버튼을 추가하려고하고 그래서 사장님 코드 :NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.tableView = [defaults objectForKey:@"SavedValue"];
하지만 지금 나는 다음과 같은 코드로 loadValue라는 또 다른 버튼을 추가로로드 시도
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.inputDisplayLabel.text forKey:@"savedValue"];
[defaults synchronize];
나던. 응용 프로그램이 시작될 때 거기에 있도록로드 코드를 실제로 어디에 두어야합니까? 그래서 다른 단추를 사용하지 않아도됩니다.
누군가가 나를 도울 수 있기를 바랍니다. 감사.
편집 :
-(void)setTheTextOfLabelWith:(NSString *)str
{
text = str;
if (!_objects) {
_objects = [[NSMutableArray alloc] init];
}
//[_objects insertObject:[NSDate date] atIndex:0];
[_objects insertObject:[[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height)] atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.inputViewPopover dismissPopoverAnimated:YES];
}
빠른 답장을 보내 주셔서 감사합니다. 테스트 할 화면의 어딘가에 레이블을 추가하려고 시도했지만 작동했지만 실제로 tableviews cel과 작동하도록하고 싶습니다. 그걸 도와 줄 수있어? –
내 수정 된 답변보기 http://developer.apple.com/library/ios/ipad/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDelegate 및 http : //에서 살펴보십시오. developer.apple.com/library/ios/ipad/#documentation/UIKit/Reference/UITableViewDataSource_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDataSource – d4Rk
코드를 편집했는데, 그 의미가 무엇입니까? SetTheTextOfLabelWith는 문자열의 인수를 취하고 사용자가 추가 단추를 누를 때마다이를 테이블 뷰 셀에 추가합니다. 그런 다음 NSUserDefaults를 사용하여 해당 셀을 저장하려고합니다. –