버튼 작업 메서드 후에 사용자 정의 클래스 객체를 가져옵니다. 이제 NSMutableArray
에 여러 사용자 지정 개체를 저장 한 다음이 배열을 NSUserDefaults
에 저장해야합니다. 이 NSUserDefaults
에 하나의 사용자 정의 클래스를 Store
객체를 절약, 위의 코드를 사용하여배열에 사용자 정의 객체를 저장하고 NSUserDefaults에 저장하는 방법 - iPhone
-(IBAction)onClickSubmitLater:(id)sender
{
//Saving store in user defaults for later upload data.
NSMutableArray *arrayStoreList = [[NSMutableArray alloc] init];
arrayStoreList = [Util getArrayPreference:@"Store"];//arrayStoreList is the list of all stores.
Store *store = [[Store alloc] init];
store = [arrayStoreList objectAtIndex:self.selectedStoreIndex];//here i am getting particular store that i need to save in array.
//archive
NSData *dataStore = [NSKeyedArchiver archivedDataWithRootObject:store];
[[NSUserDefaults standardUserDefaults] setObject:dataStore forKey:@"resultStore"];
//unarchive
NSData *dataResultStore = [[NSUserDefaults standardUserDefaults] objectForKey:@"resultStore"];
Store *resultStore = (Store *)[NSKeyedUnarchiver unarchiveObjectWithData:dataResultStore];
NSLog(@"%@", resultStore);
}
:
여기 내 코드입니다. 그래서 모든 Store
개체를 나중에 제출 한 후 NSMutableArray
에 저장하고 싶습니다. 나중에 서버에 저장소를 하나씩 업로드하기위한 저장소 배열을 가져옵니다.
감사합니다.
- (void) encodeWithCoder : (NSCoder *) encode; - (id) initWithCoder : (NSCoder *) 디코드; 스토어 엔티티에 구현했습니다. 왜 downvote? –
NSUserDefaults는 환경 설정을 저장하는 데 사용되므로이 질문을 "NSUserDefaults를 사용해야합니까?" plist로 저장하고, 코더와 디코더 등을 사용하여 데이터를 저장하는 많은 옵션이 있습니다. nick lockwood가 작성한 아름다운 재사용 클래스가 있습니다. https://github.com/nicklockwood/BaseModel을보십시오. 나는 그것을 사용하는 것이 좋습니다. 감사! – iCoder
예, 제 요구 사항에 따라 userDefaults를 사용해야합니다. Xcode에서 앱을 중지 한 후 그것은 같은 가게로 남아있을 것입니다. –