NSMutableArray에 노래 이름과 아티스트가 저장되어 있습니다. 이 배열을 NSData 형식으로 변환하여 텍스트 파일에 저장할 수 있도록 노력하고 있습니다. 그렇게 할 때, 내가 얻을 출력은 읽을 수 없습니다 :NSMutableArray에서 NSData to .txt 파일 - 읽을 수없는 출력
bplist00ÔghX $ versionX $ objectsY $ archiverT $ 위로 † ¯ $ ") -/3459 :;!. @ AEFGKLMQRSWXY]^_ CU $ nullÒ R $을 0 . V의 $ 클래스 €€ # 오 ZNS.objectsª €€€ € ... 등
내가있는 NSData에있는 NSMutableArray에서 변환 사용하고 코드는 다음과 같습니다
NSFileManager *fm;
NSData *dataCache = [NSKeyedArchiver archivedDataWithRootObject:myList];
fm = [NSFileManager defaultManager];
if ([fm createFileAtPath:@"https://stackoverflow.com/users/nicholasvogler/desktop/Mysongs.txt" contents:dataCache attributes:nil] == NO)
{
NSLog (@"Could not create data file");
return 1;
}
모든 객체 배열에있는 NSStrings 및 문자열 및 배열에 대해 다음 메서드를 추가했습니다 :
-(void) encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject: songname];
[encoder encodeObject: artist];
}
예상되는 출력은 songName 아티스트 –
배열의 데이터를 보관하지 않고 NSData 객체로 전송할 수 있습니까? 텍스트 파일에서 읽을 수있는 배열의 데이터를 가져 오려고합니다. 나에게있어서 나는 그것을 작동시킬 수 없다. –
@NicholasVogler : 물론입니다. 하지만 그것은 출력을 어떻게 보이게 할 것인가에 전적으로 달려 있습니다. 만약 당신이 유일한 목표는 "인간이 읽을 수있게 만드는 것"이라면 클래스와 같은 정보를 담고있는'NSDictionary * '객체의 NSArray *를 만들고'NSPropertyListSerialization'을 사용하여 XML plist를 출력 할 수 있습니다. 그것은 당신의 객체와'NSDictionary' 사이를 변환하는 더 많은 작업입니다, 그러나 당신은 XML plist를 얻을 수 있습니다. –