Hiện tại, tôi đang phát triển một ứng dụng có chức năng phụ thuộc rất nhiều vào dữ liệu JSON đã truy xuất. Hầu hết dữ liệu tôi dự định lưu vào dữ liệu cốt lõi. Tuy nhiên, không chắc chắn tôi có phải lưu tất cả các công cụ liên quan đến người dùng (cài đặt, yêu thích, twitter, Facebook và vv) cũng trong dữ liệu cốt lõi hay tôi nên sử dụng NSUserDefaults? Ưu và nhược điểm là gì?Tôi có nên sử dụng dữ liệu cốt lõi để lưu trữ một số tùy chọn của người dùng hoặc lưu nó trong NSUserDefaults không?
Trả lời
Bạn có thể tham khảo hướng dẫn riêng của Apple: Implementing Application Preferences
bạn có thể lưu trữ các thiết lập người dùng trong bất kỳ cách nào bạn muốn: Sự lựa chọn giữa NSUserDefaults và Core dữ liệu chỉ là giữa API, nơi cựu đã thực sự được thiết kế để xử lý sở thích của người sử dụng.
NSUserDefaults và "thành phần cài đặt tích hợp" thực sự là một và giống nhau. Sử dụng ứng dụng cài đặt sẽ vẫn lưu trữ tùy chọn trong NSUserDefaults mà bạn truy cập trong ứng dụng của mình bằng API đó.
Lý do tại sao bạn có thể không muốn sử dụng ứng dụng cài đặt tích hợp sẽ là: Thật cồng kềnh khi người dùng thay đổi các cài đặt đó. Nếu bạn có cài đặt mà người dùng có thể muốn thay đổi thường xuyên, bạn có thể muốn thực hiện điều đó bên trong ứng dụng của mình (ví dụ: bật/tắt nhạc, thay đổi tên người chơi). Ngoài ra, vì bạn có toàn quyền kiểm soát ứng dụng của riêng mình, bạn có thể có giao diện linh hoạt hơn so với giao diện của Apple cung cấp trong Cài đặt.app
Đối với việc sử dụng Dữ liệu chính hoặc NSUserDefaults ... tôi sẽ nói với NSUserDefaults vì nó dễ thực hiện hơn nhiều và được thiết kế để thực hiện việc này, khi triển khai dữ liệu cốt lõi sẽ tốn nhiều công sức.
Đối với bất kỳ ai tìm thấy chuỗi này trong năm 2017+, trang được liên kết ở trên không còn tồn tại . Tôi tin rằng hướng dẫn này, hiện được gọi là [Hướng dẫn lập trình tùy chọn và cài đặt] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/UserDefaults/Introduction/Introduction.html), là phiên bản cập nhật. –
- 1. Tôi có nên sử dụng NSUserDefaults hoặc plist để lưu trữ dữ liệu không?
- 2. Tôi có nên lưu trữ dữ liệu cốt lõi hay không?
- 3. Lưu trữ NSArray trong mã mẫu dữ liệu cốt lõi?
- 4. Dữ liệu cốt lõi - Lưu trữ hình ảnh (iPhone)
- 5. Hộp kiểm "Sử dụng dữ liệu cốt lõi để lưu trữ"
- 6. Tôi nên sử dụng loại dữ liệu nào để lưu trữ GUID trong Dữ liệu chính?
- 7. Lưu trữ nhiều bit - Tôi có nên sử dụng nhiều cột hoặc một cột bitfield không?
- 8. Tôi có nên lưu trữ Hoa Kỳ trong cơ sở dữ liệu của tôi hoặc một mảng PHP?
- 9. Lưu trữ tọa độ từ Vị trí cốt lõi trong Dữ liệu chính. Nổi hoặc đôi?
- 10. Làm cách nào để Dữ liệu cốt lõi có thể lưu trữ NSData?
- 11. Dữ liệu cốt lõi với MagicalRecord không lưu vào iCloud
- 12. Tôi có thể lưu trữ một số dữ liệu người dùng trong mọi mục của một QListWidget không?
- 13. Lưu trữ tối đa dữ liệu lõi iPhone
- 14. WPF/C#: Tôi nên lưu tệp tùy chọn của người dùng ở đâu?
- 15. Tôi có thể sử dụng html5 lưu trữ cục bộ để lưu trữ thông tin người dùng phiên xác thực
- 16. lưu trữ dữ liệu nhập của người dùng vào mảng
- 17. NSUserDefaults Mất dữ liệu mới được lưu nếu ứng dụng bị giết trong vòng 10 giây
- 18. Lưu trữ người dùng Tùy chọn múi giờ
- 19. Tôi có nên lưu trữ hình ảnh trong cơ sở dữ liệu hoặc thư mục không?
- 20. Dữ liệu cốt lõi tùy chỉnh SectionNameKeyPath
- 21. đăng nhập bằng oAuth, tôi nên lưu trữ/sử dụng để xác định người dùng?
- 22. Ứng dụng web Java nên lưu trữ dữ liệu của nó ở đâu?
- 23. Tôi có nên sử dụng Bitmap hoặc Drawable để lưu trữ trong ImageCache trên Android không?
- 24. Dữ liệu cốt lõi VS Sqlite hoặc FMDB ....?
- 25. Tôi có thể có tham số OUTPUT tùy chọn trong quy trình được lưu trữ không?
- 26. Làm cách nào để lưu tùy chọn người dùng cho ứng dụng iPhone của tôi?
- 27. Tôi nên sử dụng cơ sở dữ liệu nào để lưu trữ hồ sơ và tôi nên sử dụng nó như thế nào?
- 28. Khi lưu trữ số điện thoại ở Django, tôi có nên lưu trữ chúng dưới dạng số nguyên hoặc sử dụng django.contrib.localflavor không?
- 29. Django lưu trữ dữ liệu người dùng vô danh
- 30. Dữ liệu cốt lõi và NSOperation
Câu trả lời này có so sánh tốt: http://stackoverflow.com/questions/6173625/what-are-the-limitations-of-nsuserdefaults – dhirschl