2014-04-01 4 views
-2

내 jQuery과의 선택한 행을 저장하기 위해 노력하고있어 위해 선택한 행을 저장. 따라서 사용자가 화면으로 돌아 오면 마지막 선택이 표시됩니다. 그러나, responseData이 인덱스 경로가 저장 한하지 않은 내 viewDidLoad에jQuery과

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSData *responseData = [[NSUserDefaults standardUserDefaults]objectForKey:@"IndexPathData"]; 

    NSIndexPath *index = [NSKeyedUnarchiver unarchiveObjectWithData:responseData]; 
    self.lastIndexPath = index; 


} 

에서 다음

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    self.lastIndexPathUsed = indexPath; 
    NSData *responseData = [NSKeyedArchiver archivedDataWithRootObject:indexPath]; 

    [[NSUserDefaults standardUserDefaults] setObject:responseData forKey:@"IndexPathData"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    [tableView reloadData]; 

} 

:

내가 트릭을 할 것이라고 생각, 내가 노력 코드입니다. 그것은 항상 NULL입니다. didSelectRowAtIndexPath 메소드에서도 마찬가지입니다.

사람은 누구나이 할 수있는 더 좋은 방법을 알고?

+0

는 didiselectro에서 인덱스 path.row의 인덱스 오브젝트 애플 대리자에 mutablearray을 추가합니다 w .. 당신이 돌아올 때 그들에게 보여줄 때 –

+0

당신이 무엇을 요구하고 있는지 확실하지 않습니다? – brandonscript

+0

정말 모든 값을 저장하거나 보유 AppDelegate에를 사용하지 않습니다. 아이디어를 주셔서 감사 드리며 가변 배열을 사용해 보겠습니다. – Tander

답변

1
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSUserDefaults *userdefaults      = [NSUserDefaults standardUserDefaults]; 
    [userdefaults setObject:[NSString stringWithFormat:@"%d",indexPath.row] forKey:@"lastIndexPathUsed"]; 

} 

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.lastIndexPath = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastIndexPathUsed"]; 
} 
+0

내 문제가 해결되었습니다. 고맙습니다. – Tander

1

두 값으로 저장하고 나중에 NSIndexPath를 다시 만들 수 있습니다 :

저장 indexPath.row 및 indexPath.section 별도로 다음으로 다시 작성 :의 viewDidLoad 방법

에서 다음
[NSIndexPath indexPathForRow:inSection:] 
+0

Indexpath.colum이 없습니까? – Tander

+0

내가 그것을 파악하면이 실제로 더 나은 솔루션이었다 Indexpath.section – sleepwalkerfx

+0

에 recorrected. 감사! – Tander