2010-06-05 7 views

답변

2

. 그냥 setObject:forKey: 메서드를 사용하여 저장하십시오. 그래서 :

NSArray* myArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil]; 
[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:@"myArrayKey"]; 

// much later... 

NSArray* thatArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"myArrayKey]; 
NSLog(@"thatArray second object: %@", [thatArray objectAtIndex:1]); 
// prints "thatArray second object: two" 
+0

실제로 테이블 뷰에서 행을 채우는 테이블에서 row5를 삭제하면 테이블을 삭제해야합니다. 위의 코드를 사용하면 행을 전혀 삭제할 수 없습니다. plz 내가 앞으로 나아갈 것을 제안합니다. 안부 – iscavengers

+0

@ shishir.bobby : 사용중인 코드를 게시 할 수 있습니까? 그렇지 않으면 도움이되는 정보가 충분하지 않습니다. –

0

나는 당신이 요구하는 추측 : 당신은 배열이

, 당신은 당신이 그 배열을 유지하려면, 이후 다음, NSUserDefaults에 넣어, 그것은 바로입니까?

NSUserDefaults는 배열을 넣을 때 배열을 유지하지 않습니다. 단지 데이터베이스에 직렬화를 통해 데이터를 저장하고 가져옵니다. 현재 배열을 보유하고 있다면 더 이상 저장할 필요가 없습니다.

+1

사실이 아닙니다. NSUserDefaults에서 객체를 추가하거나 제거해도 객체의 보유 수에 전혀 영향을 미치지 않습니다. NSUserDefaults는 객체의 복사본을 영구 저장소로 직렬화합니다. 직렬화하는 객체에 메시지를 보관하거나 해제하지 않습니다. –

+0

아 그래, 이제 알았다. 그것은 나의 오해였습니다. 이전에는 객체를 설정해야하고 나중에 파일에 명시 적으로 write를 호출해야한다고 생각했습니다. 그러나 그것은 정확하지 않습니다. 고마워 많이 – vodkhang

+0

실제로 배열은 이미 보유하고 있습니다. 배열에서 일부 요소를 삭제 한 후 해당 배열을 유지하고 싶지 않습니다. – iscavengers

관련 문제