반응형
NSArray를 NSData로 변환하는 방법?
사람이 어떻게 변환하는 방법을 말해 줄래 NSArray
에 NSData
? 나는 NSArray
. 나는 그것을 NSInputStream
. 위해 나는 변환 할 필요가해야 할 일 NSArray
에 NSData
.
제발 도와주세요, 여기 갇혀 있어요.
NSKeyedArchiver (Garrett 링크 게시물의 마지막 문장)를 사용하십시오.
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
의 모든 개체 array
는 NSCoding
프로토콜을 준수해야 합니다. 이것이 사용자 지정 개체 인 경우 Encoding and Decoding Objects 를 읽어야 함을 의미합니다 .
이렇게하면 읽기 어려운 속성 목록 형식이 생성되지만 매우 광범위한 개체를 처리 할 수 있습니다. 매우 간단한 배열 (예 : 문자열)이있는 경우 NSPropertyListSerialization을 사용하여 좀 더 간단한 속성 목록을 생성 할 수 있습니다.
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];
유선에서 읽을 수 있기를 원한다면 전달할 수있는 XML 형식 상수도 있습니다.
다소 관련된 메모에서 NSData를 다시 NSArray로 변환하는 방법은 다음과 같습니다.
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]
이것이 도움이 될지 확실하지 않지만 NSMutableArray와 NSData에 대한 링크입니다 .
이 코드를 사용했습니다.
NSError *error;
NSMutableData *jsonData = [[NSJSONSerialization dataWithJSONObject:yourDemoArray
options:0 // Pass 0 if you don't care about the readability of the generated string
error:&error] copy];
당신은 이것을 할 수 있습니다-
NSArray *array= [NSArray array];
NSData *dataArray = [NSKeyedArchiver archivedDataWithRootObject:array];
iOS 9 이상에서는 다음을 사용하십시오.
NSArray *array = [[NSArray alloc] init];
NSData *data = [NSPropertyListSerialization dataWithPropertyList:array format:NSPropertyListBinaryFormat_v1_0 options:0 error:nil];
이전 버전은 iOS 8에서 더 이상 사용되지 않습니다.
빠른 :
let data = NSKeyedArchiver.archivedData(withRootObject: jsonArray)
print(data)
참고 URL : https://stackoverflow.com/questions/1286212/how-to-convert-nsarray-to-nsdata
반응형
'code' 카테고리의 다른 글
정수를 특정 범위로 고정하는 방법은 무엇입니까? (0) | 2020.10.06 |
---|---|
500.21 모듈 목록에 잘못된 모듈“ManagedPipelineHandler”가 있습니다. (0) | 2020.10.06 |
presentModalViewController를 사용하여 투명한보기를 만드는 방법 (0) | 2020.10.06 |
자바 스크립트 개체의 마지막 항목 가져 오기 (0) | 2020.10.06 |
SQL Server 실행 포트를 찾는 방법은 무엇입니까? (0) | 2020.10.06 |