2013-09-30 3 views
0

IP 주소와 포트 번호를 저장하는 두 개의 텍스트 상자를 갖도록 응용 프로그램 설정 번들을 설정했습니다. 그러나 하드 코드되지 않은 IP 주소와 포트 번호로 코드를 실행하면 아무 일도 일어나지 않습니다.ios 응용 프로그램 환경 설정 호출

내가 뭘 잘못하고 있는지 누가 알 수 있습니까?

내 코드 맨 위에 내 식별자를 정의합니다. 나는 다음과 같은 라인을 가지고 IP 주소와 포트 번호로 연결하는 곳이 똑바로 코드에서

#define k_ip_address @"ip_address" 
#define k_port_address @"port_number" 

그런 다음 Root.plist에 식별자 상자에서 복사 및 붙여 넣기됩니다

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *host = [defaults objectForKey:k_ip_address];// HOST; 
uint16_t port = [defaults objectForKey:k_port_address];// PORT; 

그러나 이러한 수정으로 새 프로그램을 실행하려고하면 아무 일도 일어나지 않지만 다시 하드 코드 된 버전으로 되돌릴 경우 코드가 정상적으로 작동합니다.

사용자 기본값을 잘못 사용하고 있습니까? 내 Root.plist enter image description here

+0

NSUSerDefaults에 thoSE 값을 저장하는 방법에 대한 코드를 넣을 수 있습니까? –

+0

화면 캡 추가 – N0xus

답변

1

PLIST에 저장되어 그 값의

이미지는 당신이 NSUserDefaults에 표시되는 값이 아니다. NSUserDefaults의 경우 프로그래밍 방식으로 데이터를 저장해야합니다.

A) 프로그래밍 방식 NSUSerDefaults의 데이터를 저장하고 .plist 잊어 :

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; 
[defaults setObject:MY_IP forKey: k_ip_address]; 
[defaults synchronize]; 

b)는 NSUserDefaults에 대해 잊고에서 읽기/쓰기

나는이 개 솔루션을 참조하여 문제를 해결하려면 .plist :

NSString *path = [[NSBundle mainBundle] pathForResource:@"Root" 
                ofType:@"plist"]; 
NSDictionary *dict = [[NSDictionary alloc] 
          initWithContentsOfFile:path]; 
+0

답변 해 주셔서 감사합니다. 두 번째 옵션은 내가 성취하고자하는 것입니다. 하지만 내가 사용한 코드 샘플을 사용하려면 어떻게해야합니까? 예를 올리시겠습니까? – N0xus

+0

dict의 가치를 생각해 보면 plist 값이 표시됩니다. –

관련 문제