2011-12-17 37 views
9

Tôi mới vào Mục tiêu C. Trong thực tế trước đây, tôi đã quen với việc sử dụng các khung công tác giống như ORM để truy cập cơ sở dữ liệu.Mục tiêu C ORM

Có ai vui lòng đề xuất bất kỳ khuôn khổ ORM phong nha nào cho Mục tiêu C không?

+0

bản sao có thể có của [Thư viện cơ sở dữ liệu tốt/ORM để phát triển ca cao] (http://stackoverflow.com/questions/310479/good-database-library-orm-for-cocoa-development) –

+0

Không chắc chắn nếu đó là trùng lặp khi OP yêu cầu ca cao và không phải ca cao.Điều này hoàn toàn phụ thuộc vào thực tế là câu trả lời được cung cấp thực sự hoạt động chính xác theo cách tương tự trên cacao-touch (iOS). – Till

+0

Ngoài ra, câu hỏi đó tuyên bố rõ ràng rằng Dữ liệu cốt lõi không thể được sử dụng trong trường hợp của họ, do cần phải tương tác với MySQL và tương tự. Nếu bạn chỉ đang tìm kiếm một ORM và sử dụng SQLite vì cơ sở dữ liệu của bạn là tốt cho bạn, thì thậm chí không cần quan tâm đến bất cứ thứ gì ngoài Core Data trên iOS. –

Trả lời

2

Có rất nhiều lựa chọn thay thế trên mạng, nhưng theo ý kiến ​​của tôi, không có gì là tốt hơn so với dữ liệu cốt lõi của Apple. Nó rất dễ sử dụng và thực hiện, và là tài liệu cực kỳ tốt (như tất cả mọi thứ đến từ Apple).

Một nguồn tuyệt vời để học hỏi Core Data nhanh chóng và sử dụng nó ngay lập tức là video CS193P Paul Hegarty có sẵn trên iTunes U, mà bạn có thể tải về sử dụng liên kết sau đây:

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=480479762

+11

Ngoại trừ nó không phải là một ORM về mặt kỹ thuật. – Diziet

+1

"Kỹ thuật" này không biện minh cho việc giảm giá ... –

+2

Không có hành vi phạm tội có nghĩa là và tôi hy vọng không được thực hiện, mặc dù rõ ràng bạn phải bình luận về nó. Dù bằng cách nào, tốt ... Tôi sẽ giữ hòa bình của bạn. Tuy nhiên, Core Data không phải là ORM và có lẽ không nên được sử dụng như vậy. Có hay không có rất nhiều người thực sự muốn một ORM khi họ yêu cầu một là một cuộc thảo luận hoàn toàn. – Diziet

15

Sau đây là cho SQLite trên iOS:

+2

Đây là câu trả lời đúng cho câu hỏi của Op. Dữ liệu cốt lõi không phải là một ORM, nó không thể được sử dụng để bọc một cơ sở dữ liệu hiện có trong một Trình quản lý quan hệ đối tượng. Các kho dữ liệu lõi không thể sử dụng được trừ thông qua Core Data. – deepwinter

+2

FMDB không phải là một trình bao bọc ánh sáng (tuyệt vời) xung quanh các cuộc gọi API SQLite3 thô. Bạn sử dụng các truy vấn SQL cũ đơn giản để làm mọi thứ bạn cần với nó. – nobre

3

UPDATE: DBAccess có tại được thay thế bằng mã nguồn mở ORM Shark. Chúng tôi gần đây đã phát hành miễn phí để phân phối và sử dụng ORM cho Objective-c/iOS được gọi là DBAccess, có thể tải xuống từ http://db-access.org/, đã mất vài năm để phát triển và hiện đã được triển khai trong nhiều ứng dụng.

Tài liệu là khá cơ bản, nhưng dần dần được tạo/cập nhật và chúng tôi hoan nghênh phản hồi và đề xuất của cộng đồng.

Ngoài ra còn có một lộ trình có sẵn để nêu chi tiết những tính năng nào sẽ được phát hành trong các bản phát hành sắp tới.

Nó có thể không dành cho tất cả mọi người, nhưng tôi hy vọng nỗ lực của chúng tôi sẽ giúp một số người trong cộng đồng.

LƯU Ý, Tôi đã được cảnh báo rằng thực tế là biểu mẫu không tốt để quảng bá sản phẩm của riêng bạn trong diễn đàn như vậy, nhưng tôi chỉ muốn thêm rằng tôi chỉ đăng câu trả lời này cho OP Tôi cảm thấy nó mang lại một cái gì đó hữu ích cho bảng và tôi chân thành hy vọng nó sẽ chứng minh hữu ích cho một số người, ngay cả khi nó không phải cho tất cả mọi người.

CẬP NHẬT: DBAccess hiện đã được thay thế bằng mã nguồn mở ORM Shark. Nó tương thích với API và có sẵn trên github. http://sharkorm.comhttps://github.com/sharksync/sharkorm

Cảm ơn Adrian_H

+0

Tôi không thể nói cho phần còn lại của cộng đồng, nhưng tôi cảm thấy câu trả lời này trực tiếp giải quyết câu hỏi của OP và là thông tin. Thực tế là bạn là tác giả không nên lấy bất cứ điều gì từ đó. –

+0

là mã nguồn mở ??? – Nav

+0

Tại thời điểm này, nó không phải là nguồn mở, mặc dù đó là một nguồn thương lượng liên tục trong công ty. –

0

Tôi hoàn toàn khuyên Realm. IMHO nó là một sự lựa chọn tuyệt vời cho sự đơn giản và hiệu quả của nó.