Vấn đề:Core Data vs NSFileManager
tôi đã được sử dụng trong một thời gian bây giờ hệ thống bộ nhớ cache của riêng tôi bằng cách sử dụng NSFileManager
. Thông thường dữ liệu tôi nhận được là JSON và tôi chỉ lưu từ điển trực tiếp vào bộ nhớ cache (trong Thư mục Tài liệu). Khi tôi cần nó trở lại tôi sẽ chỉ nhận được nó. Tôi cũng thực hiện, đôi khi tôi cảm thấy nó tốt hơn, một NSDictionary
trên thư mục gốc với các khóa/giá trị cho đường dẫn cho một tài nguyên nhất định. Ví dụ:
Tài nguyên về thời tiết ở Geneve 17/02/2013, vì vậy tôi sẽ có khóa được gọi là GE_17_02_2013 và giá trị đường dẫn đến NSDictionary
với thông tin.
Thông thường, tôi không cần thực hiện bất kỳ truy vấn phức tạp nào. Nhưng, bằng cách nào đó, và từ những gì tôi đã đọc, khi bạn có rất nhiều dữ liệu, bạn nên gắn bó với Dữ liệu cốt lõi. Trong trường hợp của tôi, tôi thường có rất nhiều dữ liệu, nhưng tôi chưa bao giờ thực sự cảm thấy ứng dụng đang đi xuống, hoặc bị ảnh hưởng về hiệu suất. Vì vậy, câu hỏi của tôi là:
Trong trường hợp này, nơi mà thỉnh thoảng (điều tiết chỉ là một ví dụ ) Tôi cần phải chỉ cần loại bỏ tất cả các dữ liệu (một cấp dữ liệu Twitter, cho chẳng hạn) và thay thế nó bằng một luồng dữ liệu hoàn toàn mới, là Core Dữ liệu có giá trị không? Tôi nghĩ rằng loại bỏ tất cả các dữ liệu, và chèn (populating) nó, là nặng hơn chỉ cần lưu trữ các
NSDictionary
và thay thế cũ.Đôi khi nó sẽ envolve hình ảnh, textfiles, vv và
NSFileManager
làm nó một cách hoàn hảo, vì vậy những gì ưu điểm cốt lõi Dữ liệu có thể mang lại trong trường hợp này?
Tái bút: Tôi chỉ thấy this bưu điện, nơi loại câu hỏi được thực hiện và số chứng minh cái nào là thực sự nhanh hơn. Tuy nhiên, tôi cũng muốn một câu trả lời thực nghiệm.
bộ nhớ cache dành cho các tình huống ngoại tuyến. Vì vậy, trong điều kiện bình thường với truy cập internet, tôi thường thay thế dữ liệu được lưu trữ rất thường xuyên, đó là lý do tại sao tôi có mối quan tâm. Một lợi thế khác, là thực tế chỉ sử dụng một 'NSDictionary' và không cần phải biết những gì bên trong của anh ta (cách anh ta sáng tác). Nó có ý nghĩa khi có 'NSManagedObject' chỉ với một' NSDictionary'? – Peres
Bộ nhớ đệm cũng quan trọng đối với hệ thống tệp cục bộ. Truy cập hệ thống tập tin chậm hơn truy cập bộ nhớ. Tôi không chắc tại sao bạn không cần phải biết những gì bên trong từ điển đó, bạn không đọc/giải thích nó như là một số điểm.Nếu bạn chỉ lưu trữ một tệp giống như bất kỳ phần mềm nào khác, đó là từ điển được tuần tự hóa, thì có, không có điểm nào trong việc sử dụng Dữ liệu chính –
Ý tôi là, tôi biết nội dung bên trong, nhưng nếu vì lý do nào đó, API sẽ thay đổi và thêm những thứ khác , Tôi không bị ràng buộc với điều đó. – Peres