2011-07-28 2 views
1

plist 구조의 형태로 웹 서비스에서 돌아온 NSString이 있으면이 NSString을 사용하여 NSMutableArray를 어떻게 초기화 할 수 있습니까? 나는 NSString을위한 initWithContentsOfFile과 비슷한 방법이 있는지 알고 싶다.Objective-c : plist 구조체 인 NSString을 사용하여 NSMutableArray를 초기화하십시오.

내 첫 번째 생각은 파일에 NSString을 저장 한 다음 initWithContentsOfFile을 사용하는 것입니다. 하지만 먼저 파일 저장을 피하려고합니다. 더 간단한 방법이 있어야하는 것처럼 보입니다.

답변

1

, 다음과 같이 작동합니다 :

NSData *data = [myString dataUsingEncoding:NSUTF8StringEncoding]; 
NSMuableArray *array = [NSPropertyListSerialization 
    propertyListWithData:data 
        options:NSPropertyListMutableContainers 
        format:NSPropertyListXMLFormat_v1_0 
        error:NULL]; 
0

은 속성 목록 프로그래밍 가이드 "Reading and Writing Property-List Data"을 참조하십시오

+1

이보다 더 편리한 방법, 다행히 ;-) – DarkDust

+0

이 훨씬 더 이미 설명하는지의 모든 작업을 수행하는 NSPropertyListSerialization''으로 수행되고있다. –

1

을 (A PLIST이 무엇 인) XML을 구문 분석하고 사전에 그것을 설정하는 NSXMLParser를 사용 (그리고 거기에서 배열을 검색) 할 수있다. NSData을 속성 목록으로 바꾸는 방법에 대해 다룹니다. 네트워크에 이미 NSData이있는 경우 NSString으로 변환하지 마십시오. NSString 만있는 경우 dataUsingEncoding:을 사용하여 NSData으로 변환하십시오.

1

-propertyList-mutableCopy 방법에 대한 설명서를 확인하십시오. 테스트되지 않은

관련 문제