2011-03-16 3 views
1

안녕 친구의 데이터베이스를 관리하는 방법에 내가 내가 다음 등록 폼이 열려있을 것입니다 버튼을 클릭하면이 하나 개의 버튼과 버튼 이름은 XIB에 등록입니다내가 응용 프로그램 을해야 아이폰에 새로운 오전 여기 아이폰

등록 양식이 웹 서버에 생성 됨 사용자가 등록 양식을 작성하는 경우 사용자 이름과 비밀번호를 등록 할 때 서버에 저장하고 동일한 사용자 이름과 비밀번호로 로컬 데이터베이스에 저장해야한다고 가정하십시오 친구를 도와주세요 이 급한

미리 감사드립니다

답변

3

로그인 데이터를 유지하기위한 3 가지 주요 옵션이 있습니다. 설정, 핵심 데이터 및 SqlLite. 사용자 이름과 암호의 경우 다른 두 옵션의 오버 헤드가 너무 많아서 설정을 사용해야 만하고 관계형 데이터에 더 자주 사용됩니다.

설정을 사용하려면 애플리케이션 컨트롤러를 초기화 할 때로드해야합니다.

+ (void) loadDefaultSettings { 

    NSString *path = [[NSBundle mainBundle] bundlePath]; 
    NSString *pListPath = [path stringByAppendingPathComponent:@"Settings.bundle/Root.plist"]; 
    NSDictionary *pList = [NSDictionary dictionaryWithContentsOfFile:pListPath]; 

    NSMutableArray *prefsArray = [pList objectForKey:@"PreferenceSpecifiers"]; 
    NSMutableDictionary *regDictionary = [NSMutableDictionary dictionary]; 

    for (NSDictionary *dict in prefsArray) { 
     NSString *key = [dict objectForKey:@"Key"]; 
     if (key) { 
      id value = [dict objectForKey:@"DefaultValue"]; 
      [regDictionary setObject:value forKey:key]; 
     } 
    } 

    [[NSUserDefaults standardUserDefaults] registerDefaults:regDictionary]; 
} 

그러면 메서드 호출을 통해 사용자 이름과 암호를 저장할 수 있습니다.

+ (void) storePersistedLogin:(NSString *)uid withPassword:(NSString *)pswd { 
    [[NSUserDefaults standardUserDefaults] setObject:uid forKey:@"UID"]; 
    [[NSUserDefaults standardUserDefaults] setObject:pswd forKey:@"PSWD"]; 
} 

다음 방법을 사용하여 UITextField 입력을 채울 수 있습니다.

+ (void) populatePersistedLogin:(UITextField **)uid andPassword:(UITextField **)pswd { 
    [*uid setText:(NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"UID"]]; 
    [*pswd setText:(NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"PSWD"]]; 
} 

나는 이러한 공개 메소드를 별도의 SettingsUtils 클래스에 가지고 있으므로 키가 동일한 지 확인할 수 있습니다. 또한 키를 잘못 입력 할 가능성을 줄이기 위해 NSString 객체로 키를 선언 할 수도 있습니다.

+0

iphone의 sqlite 데이터베이스에 동일한 사용자 이름과 비밀번호를 저장하려는 경우 – Rocky

+0

예를 들어 사용자 이름과 비밀번호로 양식을 등록하면 동일한 사용자 이름과 비밀번호를 로컬 데이터에 저장해야합니다. 그러면 친구와 데이터가 도움이됩니다. in json – Rocky

+0

@Abhishek 귀하의 의견에 혼란스러워합니다. 무엇을하고 싶습니까? 둘 이상의 사용자 이름과 비밀번호를 저장하려고합니까? JSON을 언급했다. 서버에 양식을 제출 한 응답인가? JSON에서 값을 추출한 다음 위에서 설명한대로 값을 저장해야합니다. 여러 사용자 이름과 암호를 원할 경우 어떻게 사용 하시겠습니까? 장치에 대해 한 명의 사용자 만 있습니까? –

관련 문제