我必須將NSDictionary
對象轉換爲NSData
,並且我必須從NSData
對象中獲得相同的NSDictionary
對象。我應該怎麼做呢?將NSDictionary對象轉換爲NSData對象,反之亦然
16
A
回答
32
使用的NSKeyedArchiver
要的NSDictionary轉換爲NSData的
NSMutableData *data = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:data];
[archiver encodeObject:YOURDICTIONARY forKey: YOURDATAKEY];
archiver finishEncoding];
[data writeToFile:YOURFILEPATH atomically:YES];
[data release];
[archiver release];
從存儲的NSData的
NSData *data = [[NSMutableData alloc]initWithContentsOfFile:YOURFILEPATH];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
YOURDICTIONARY = [unarchiver decodeObjectForKey: YOURDATAKEY];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
2
一個更簡單的版本羅伯特的回答得到的NSDictionary回:
[NSKeyedArchiver archiveRootObject:YOURDICTIONARY toFile:YOURFILEPATH];
,並相應:
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithFile:YOURFILEPATH];
或者爲原來,而不歸咎於一個文件分成東西來回答這個問題:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YOURDICTIONARY];
...
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithData:data];
它的所有工廠方法,所以它是有或沒有ARC相同的代碼;自第一天起,OS X v10.2和iOS上已使用所用的方法。
相關問題
- 1. 將NSString轉換爲NSData,反之亦然
- 2. 如何將NSDictionary轉換爲NSData,反之亦然?
- 3. 將對象轉換爲二進制代碼,反之亦然
- 4. 將對象(包含lambda)轉換爲JSON,反之亦然
- 5. 將Java對象轉換爲Json,反之亦然?
- 6. 將對象轉換爲AS3中的XML元素(反之亦然)
- 7. Android將對象轉換爲XML,反之亦然
- 8. .NET - 將/映射列表轉換爲對象,反之亦然
- 9. 將Java對象轉換爲Xml,反之亦然
- 10. 將對象轉換爲NSDictionary
- 11. 如何在Groovy中將字節[]轉換爲對象,反之亦然
- 12. 將休眠orm實體轉換爲複雜對象,反之亦然
- 13. 將實體對象轉換爲POJO,反之亦然的最佳方式?
- 14. 將NSData對象轉換爲NSDictionary的問題
- 15. 將ansi轉換爲utf8,反之亦然
- 16. 將float2轉換爲double2,反之亦然
- 17. 將lonlat轉換爲xyz,反之亦然
- 18. 將HTML轉換爲Xliff,反之亦然
- 19. 將JavaUtilDate轉換爲NSDate,反之亦然?
- 20. 將RSAPrivateKey轉換爲PrivateKey,反之亦然
- 21. 變換JSON對象爲數字字符串,反之亦然
- 22. 從tm對象移動到koRpus對象,反之亦然
- 23. 將NSData對象轉換爲NSString格式
- 24. 如何將CoreData對象轉換爲NSData
- 25. 將NSData轉換爲JSON對象數組
- 26. NSData對象被反轉
- 27. 如何將cmis事件對象ID轉換爲cmis文檔對象ID或反之亦然
- 28. 如何將NSDictionary轉換爲JSON對象?
- 29. 將NSData對象中的RTF數據轉換爲NSString對象
- 30. 轉換一個NSDictionary對象到對象