Bạn chắc chắn có thể lưu trữ một kho dữ liệu Core được điền sẵn trong ứng dụng của bạn, giống như bạn có thể điền sẵn cơ sở dữ liệu SQLite hoặc plist lớn với tất cả dữ liệu của bạn (mặc dù trường hợp này), hoặc bất cứ điều gì.
Dữ liệu cốt lõi là tốt đẹp vì đó là tất cả các ca cao gốc, nó xử lý tất cả tải từ DB vào đối tượng bản địa, nó đã được tối ưu hóa tàn nhẫn, và như vậy. Nhưng cũng có rất nhiều mã ở đó để làm những thứ mà bạn không quan tâm: xử lý sửa đổi, lưu thay đổi, hoàn tác và làm lại hỗ trợ, v.v. Vì vậy, không có câu trả lời rõ ràng nào theo cách này hay cách khác.
Rất nhiều tùy thuộc vào mức độ thoải mái của bạn với cả Dữ liệu cốt lõi và các lựa chọn thay thế. Bạn có hài lòng khi giao dịch với API SQLite (hoặc một trong số nhiều Cocoa wrappers) để lấy dữ liệu của bạn không? Nếu vậy, thì điều đó có thể đơn giản hơn. Nếu có Dữ liệu cốt lõi làm ORM cho bạn sẽ là một chiến thắng lớn, sau đó đi theo cách đó. Mặt khác, các truy vấn phức tạp với dữ liệu lõi sử dụng các API vị ngữ, có thể phức tạp hơn việc sử dụng SQL rỗng với SQLite. Đó là một cách nghĩ.
Nguồn
2009-10-28 16:45:30
Tôi sẽ không coi đó là một câu hỏi thiếu sót. Trong khi CoreData sử dụng SQLite cho * lưu trữ cơ bản *, bạn không có bất kỳ giao diện nào với chính SQLite. Thay vào đó, sức mạnh của CoreData xuất phát từ các lớp và phương thức của nó. Ví dụ, 'NSFetchedResultsController' khi được sử dụng với' UITableView' sẽ giúp đọc dữ liệu một cách hiệu quả từ đĩa vì nó cần thiết và quản lý bộ nhớ cho phù hợp. Về cơ bản, bạn còn lại để tự làm điều này nếu bạn sử dụng SQLite thẳng. – jbrennan
API SQLite đi đâu khi bạn sử dụng Dữ liệu chính? Theo như tôi có thể nói, nó vẫn còn đó. –
Tôi không quan tâm liệu tôi có thể truy cập cả hai cùng một lúc (có thể là một ý tưởng tồi khi có Dữ liệu cốt lõi quản lý đối tượng của bạn). Tôi muốn sử dụng một và cần phải biết cái nào là tốt nhất. – Christian