2011-11-09 1 views
0

사용자 즐겨 찾기를 저장하는 데 사용하는 Plist 파일 (묶음 밖에 있음)이 있습니다. 일단로드되면 예상대로 Plist가 테이블에로드됩니다.plist 파일을 테이블에 다시로드하는 방법

그러나 Plist에 새 항목을 추가하면 plist 파일 (번들 외부)이 업데이트됩니다. 재로드 테이블 뷰가 로그에 표시된대로 트리거됩니다. 그러나 데이터는 실제로 Plist에서 다시로드되지 않고 기존 (배열) 값만 사용됩니다. 업데이트 된 Plist가 테이블에 나타나면 전체 앱을 종료하고 다시로드하지 않는 한.

원래 배열을 사용하는 대신 테이블을 실제로 업데이트 된 Plist에서 다시로드 할 수 있습니까?

감사합니다.

이 코드를 사용하여 Plist에서 데이터를 가져옵니다.

저는 이것을 사용하여 테이블 작업을위한 셀 정보를 생성하기 위해 어레이를 실행합니다.

return [favReloadArray objectAtIndex:indexPath.row]; 

내가 (viewWillApear 이내) 테이블을 다시로드하려면이 옵션을 사용 - 작동하지 않는, 로그를 유발하지만, PLIST를 다시로드하지 않습니다.

[self.tableView reloadData]; 

내가 변화에게 PLIST의 데이터를하려고하면 -이 작업을 수행 할 수 있지만 변경 내가 응용 프로그램을 종료하지 않는 한 테이블에 표시하고 다시 시작되지 않습니다.

+1

새 항목으로 새 배열을 만든 다음 해당 배열을 plist 파일에 저장하는 것처럼 들리지만 새로운 내용이므로 배열을 tableview에 제공하지 않는 것 같습니다. 소스 코드를 포함하도록 질문을 편집하십시오. 그러면 소스 코드 완성 방법을 보여 드릴 수 있습니다. –

+0

reloadData는 UITableView에게 표시되는 셀을 다시로드하고 대리자 메서드를 호출하도록 지시합니다. 배열이나 모델 객체를 다시로드하지 않습니다. 즉, 어쨌든 응용 프로그램 외부의 plist를 수정해서는 안됩니다. 특히 jailbroken이 아닌 한 거의 불가능할 것입니다. –

답변

1

당신이 reloadData 전화를 그냥 전에 favReloadArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
[favReloadArray release]; favReloadArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
또는
가 먼저 favReloadArray를 생성하는 방법에 따라해야한다.

0

myArray = [NSArray arrayWithContentsOfFile : myFilePath];