문제는 다음과 같습니다
애플의 참조입니다? 당신은 응용 프로그램 내부의 문서 디렉토리에이 값을 저장할 파일이 없습니다.
앱의 모든 값을 저장할 수 있지만 저장 및 읽기 용 파일을 사용하거나 서버의 URL을 통해 저장 및로드해야합니다. file.plist, SqlLight, json과 MySql.
첫 번째 간단한 절약은 AppDelegate.m 아래에 파일 .plist
을 사용하고 있습니다. 파일이 존재하면 디렉토리를 확인하고 문서 디렉토리 (유일한 쓰기 가능한 폴더) 안에 복사해야하지만 그 후에 Dictionary
, MutableDictionary
및 다른 클래스를 사용하여 동일한 파일에로드하고 저장하는 방법을 배워야합니다. 나는 수표와 같은 첫 번째 단계를 이해할 수 있도록 돕고 .plist, read, first base를 만들어 저장하도록 도와 줄 수 있습니다.하지만 다른 것은 많은 코드와 yopu가 다른 자습서를 봐야합니다.
그래서 .plist 파일을 생성하고이 같은 구조 변경 :
변경 키를 원하는했습니다,하지만 당신이 더 많은 항목을 추가하려는 경우 사전 같은 내부에 다른 행을 추가해야 더 많은 문자열 값을 포함 기억 루트 배열. [self createPlistFile];
: 전화를 추가
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
에서
- (void)createPlistFile{
NSError *error;
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"yourFile.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path])
{
NSString *bundle = [[NSBundle mainBundle] pathForResource:@"yourFile" ofType:@"plist"];
[fileManager copyItemAtPath:bundle toPath: path error:&error];
}
}
:
Root = Array
Item0 > some string with value
Item1 > some string with value
이제 응용 프로그램 런칭은, 내부 귀하의 AppDelegate.m
함수를 만들 때 쓰기 가능한 문서 폴더 안에이 파일을 복사해야
이제는 문서 폴더에 파일이 있는지 먼저 확인하고, false이면 앱이 새 파일을 만듭니다.당신의 ViewControlle.h
쓰기에
:
@interface ViewController : UIViewController {
NSMutableArray *loadData;
}
@property (nonatomic, strong) NSMutableArray *loadData;
이 ViewController.m
에 다시 와서 쓰기 :
@synthesize loadData;
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"yourFile.plist"];
NSMutableArray *dataDict = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
self.loadData = dataDict;
확인 표준 코드 지금 여기
앱 내부에 새 파일을 읽기 이제는 올바르게로드 된 Documents Directory 내에 새로운 PLIST 파일을 만들었지 만 이제는 저장해야합니다.이 방법은 저장하는 기본 방법이지만 실제로는 그와 내가 모두 여기에 쓸 수 많은 모드)
- (IBAction)save:(id)sender {
NSMutableDictionary *nr2 = [[NSMutableDictionary alloc] init];
[nr2 setValue:emittente.text forKey:@"plistKey"];
[nr2 setValue:link.text forKey:@"plistKey"];
[nr2 setValue:images.text forKey:@"plistKey"];
[nr2 setValue:web.text forKey:@"plistKey"];
[YouMutableDict addObject:nr2];
[YouMutableDict writeToFile:listFav atomically:YES];
}
이 좋아 그게 내가 시작이 도움을 희망 전부 네 투표하시기 바랍니다 경우 응용 프로그램에 데이터를 저장하는 방법을 이해)
난 AppDelegate에 해당 비트의 코드를'- (void) applicationDidEnterBackground : (UIApplication *) application'에 추가하기를 원할 것입니다. 그러면 사용자 입력없이 "자동"으로 원하는 것을 저장합니다. – Putz1103