2 개의 Apps간에 전송할 여러 텍스트 파일이 있습니다. (즉, 동일한 앱의 무료 및 유료 버전).NSArray를 UIPasteboard에 저장
저는 이것을 수행하기 위해 UIPasteboard를 사용하고 있습니다. 파일의 내용은 NSArrays로 메모리에 저장되므로이 NSArrays를 대지판 (라이트 버전)에 복사하고 대지에서 읽습니다 (정식 버전).
어떤 이유로 인해 데이터를 대지에서 다시 읽을 수 없습니다. 데이터는 NSArray가 아닌 NSData 객체로 반환됩니다. NSArray는 "public.utf8-plain-text"인 사용중인 대지 종류에 필요한 형식이 아님을 의미합니다.
이 페이스트 보드 유형으로 NSString을 읽고 쓸 때 제대로 작동합니다.
Apple docs 등을 통해 NSArrays (또는 다른 속성 목록 개체)에 사용해야하는 다른 유형이 있는지 확인했지만 빈 칸을 그렸습니다. 대지에 쓰기
:
NSMutableArray *lArrayCopy = [gGlobalData.cPasteBoard.items mutableCopy];
[lArrayCopy replaceObjectAtIndex:pDataFileIdx
withObject:[NSDictionary dictionaryWithObject:pDataOutput
forKey:@"public.utf8-plain-text"]];
gGlobalData.cPasteBoard.items = lArrayCopy;
[lArrayCopy release];
대지에서 읽기 :
NSArray *lPBItems = [pPasteBoard valuesForPasteboardType:@"public.utf8-plain-text"
inItemSet:nil];
NSLog(@"PB Items = NSArray of count %d", lPBItems.count);
위의 반환 :
(다음 pDataOutput에서 문자열 배열, 파일 내용입니다)PB Items = NSArray of count 0
위에서 언급했듯이 NSString으로 작성된 경우 데이터를 NSString으로 올바르게 반환합니다.
도움이 될 것입니다. 감사합니다 스티븐 C