2013-01-04 2 views
1

소리를 녹음하고 그 소리 파일을 tableview에 표시하는 응용 프로그램을 만들었습니다. 그 응용 프로그램에서 소리가 녹음 될 때 filepath 배열에 저장됩니다 어떤 배열을 사용하여 내 tableview 채우는 데 사용합니다. 하지만 내 문제는 내가 응용 프로그램을 닫으면 배열이 비어 있고 녹음 된 파일이 손실된다는 것입니다.응용 프로그램 시작시 문서 디렉토리에서 데이터를 검색하는 방법은 무엇입니까?

이제 내 앱을 두 번째 열 때 어떻게 녹음 된 파일을 가져올 수 있습니까? 문서 디렉토리에 사운드 파일을 저장하고 있습니다.

답변

1

배열을 NSUserDefaults에 저장하십시오. applicationDidFinishLonching: 방법에서 AppDelegate.m Fille에서는 ... 단지 변수 선언 AppDelegate.h 파일에서 NSUserDefaults

의 예를 참조 .. 그 때 이후

userDefaults = [NSUserDefaults standardUserDefaults]; 
    NSData *dataRepresentingtblArrayForSearch = [userDefaults objectForKey:@"yourArray"]; 
    if (dataRepresentingtblArrayForSearch != nil) { 
     NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingtblArrayForSearch]; 
     if (oldSavedArray != nil) 
      yourArray = [[NSMutableArray alloc] initWithArray:oldSavedArray]; 
     else 
      yourArray = [[NSMutableArray alloc] init]; 
    } else { 
     yourArray = [[NSMutableArray alloc] init]; 
    } 
    [yourArray retain]; 

NSUserDefaults *userDefaults; 
    NSMutableArray *yourArray; 
    after... 

를 가져 오지 및 NSUserDefaults에 배열 보관 이 데이터를 넣으려는 경우 UserDefaults 벨로우즈 코드 사용 ...

[appDelegate.yourArray addObject:yourDataString];///set your value or anything which you want to store here... 
    NSData *data=[NSKeyedArchiver archivedDataWithRootObject:appDelegate.yourArray]; 
    [appDelegate.userDefaults setObject:data forKey:@"yourArray"]; 
    [appDelegate.userDefaults synchronize]; 

도움이 되시길 바랍니다 ...

+0

코드 마지막 부분은 userDefults에서 사용 가능한 데이터를 업데이트하기위한 것입니까? –

+0

예, 배열에 추가하는 새 레코드로도 업데이트됩니다. –

+0

pList를 사용하여이 작업을 수행 할 수도 있습니까? 정보를 위해서. –

관련 문제