Làm cách nào để biết liệu bạn có cần sử dụng NSArchiver hoặc NSKeyedArchiver không? Có gì khác biệt?NSArchiver vs. NSKeyedArchiver
10
A
Trả lời
12
NSArchiver
hỗ trợ các phương pháp mã hóa key-ít như –encodeObject:
hoặc –decodePoint
, trong khi NSKeyedArchiver
hỗ trợ các phương pháp mã hóa key-based như –encodeObject:forKey:
hay –decodePointForKey:
. Sự khác biệt chính là trên các trình lưu trữ, bạn cần giải mã nội dung theo cách giống như cách bạn mã hóa nó. Mỗi khóa có thể được giải mã chính xác một lần. Các trình lưu trữ có khóa, mặt khác, không hạn chế bạn theo bất kỳ thứ tự nào và bạn có thể giải mã một cách tự do cùng một đối tượng nhiều lần.
Bất cứ khi nào có thể, hãy sử dụng NSKeyedArchiver
. Nó mới hơn và cuối cùng có thể sẽ thay thế biến thể không dựa trên khóa.
Ngoài ra, NSArchiver không khả dụng cho ứng dụng iPhone. –