誰能告訴我如何將NSArray轉換爲NSData?我有一個NSArray。我需要將它發送到NSInputStream。爲了做到這一點,我需要將NSArray轉換爲NSData。請幫助我,我被困在這裏。如何將NSArray轉換爲NSData?
回答
使用的NSKeyedArchiver(這是帖子的最後一句加勒特鏈接):
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格式常量可以傳遞如果你寧願它在電線上可讀。
我不確定這是否會對您有所幫助,但它是NSMutableArray to NSData的鏈接。
感謝您的快速回復,我已經檢查過,沒有太大的幫助。 – satish 2009-08-17 05:05:28
在一個有點相關的說明,這裏就是你將如何NSData的轉換回一個NSArray:
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]
確保它是NSKeyedUnarchiver而不是NSKeyedArchiver。使用自動完成時可能是一個容易犯的錯誤。 – Sean 2013-11-05 16:58:16
這個答案,加上從上面選擇的答案,應該足以將任何兼容對象存檔/取消存檔到/從NSData存檔 – 2014-11-05 18:08:25
你可以做到這 -
NSArray *array= [NSArray array];
NSData *dataArray = [NSKeyedArchiver archivedDataWithRootObject:array];
我用這個代碼。
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];
在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)
- 1. 我如何將NSData轉換爲NSArray?
- 2. 如何將NSManagedObjects的NSArray轉換爲NSData
- 3. 如何將NSData轉換爲NSArray(或NSObject)
- 4. 將NSArray的字節轉換爲NSData
- 5. 需要將NSData轉換爲NSArray
- 6. 將NSArray的字節值轉換爲NSData
- 7. 如何將NSArray轉換爲NSData ...或其他東西
- 8. Objective-C如何將nsdata從web服務轉換爲nsarray
- 9. 問題的NSData轉換爲NSArray的
- 10. 如何將此NSData轉換爲NSString?
- 11. 如何將dispatch_data_t轉換爲NSData?
- 12. 如何將CFDataRef轉換爲NSData?
- 13. 如何將文件Blob轉換爲NSData?
- 14. 如何將CMSampleBufferRef轉換爲NSData
- 15. 如何將NSString轉換爲NSData?
- 16. 如何將nsdata轉換爲圖像?
- 17. 如何在將NSData轉換爲NSString之後將NSString轉換回NSData?
- 18. 將網址轉換爲NSData
- 19. 將NSData轉換爲Java float?
- 20. 將NSData [UIImage]轉換爲NSString
- 21. 將ByteArray轉換爲NSData
- 22. 將NSData轉換爲NSDictionary
- 23. 將NSData轉換爲NSString
- 24. 將NSData轉換爲字節
- 25. 將uint8_t轉換爲NSData
- 26. 如何將JSON數組轉換爲NSArray
- 27. 如何將nsstring轉換爲nsarray?
- 28. 如何將NSArray轉換爲NSString **
- 29. 如何將NSArray轉換爲NSString
- 30. 如何將字節的NSData轉換爲NSArray並打印內容?避免Javascript XMLHTTPRequest
+1爲最佳答案,並非常感謝。 – Shivaay 2014-02-13 15:12:58