2010-10-20 33 views
26

Cách hay để xây dựng nhóm/thư mục là gì?Bạn cấu trúc dự án iPhone XCode như thế nào?

Tôi đã thử bằng tính năng (Giao diện người dùng cho một đối tượng địa lý cộng với mô hình v.v ...) với một nhóm chung. Tôi cũng đã thử bằng giao diện người dùng, mô hình, v.v.

Trước đây, mọi thứ giống như mọi thứ phù hợp với mô hình iPhone một cách độc đáo. Điều thứ hai có nghĩa là tôi nhảy thêm một chút nữa.

Bạn nghĩ sao?

+0

Tôi đang ngày càng sử dụng VIPER bây giờ với một phần lớn của cấu trúc sử dụng dịch vụ (trừu tượng hóa qua API, hệ thống, v.v.) để chứa logic. –

Trả lời

3

Sẽ phụ thuộc rất nhiều vào dự án. Trong dự án cuối cùng của tôi, tôi đã có phần lớn lượt xem và vì vậy, tôi đã tổ chức lượt xem theo loại chế độ xem.

10

Cấu trúc thư mục Xcode MVC chuẩn như sau.

  1. CoreData: Chứa DataModel và Entity lớp.

  2. mở rộng: Chứa Một lớp

  3. Helper (phần mở rộng lớp táo mặc định + phần mở rộng lớp dự án.):. Chứa các lớp học của bên thứ ba/Frameworks (. Ví dụ SWRevealController) + lớp Bridging (ví dụ obj Lớp C trong dự án dựa trên Swift)

  4. Mô hình: Tạo một lớp đơn (ví dụ :.AppModel - NSArray, NSDictionary, String, vv) để lưu dữ liệu. Dịch vụ Web Phân tích cú pháp và lưu trữ dữ liệu cũng được thực hiện ở đây.

  5. Dịch vụ: Chứa các quy trình Web Service

  6. Xem (ví dụ nhập xác minh, HTTP request/response.): Chứa storyboard, LaunchScreen.XIB và Xem Lớp học. Thực hiện một tế bào thư mục sub - chứa UITableViewCell, UICollectionViewCell, vv

  7. khiển: Chứa logic hoặc Mã liên quan đến UIElements (ví dụ như tài liệu tham khảo UIButton của + nhấp hành động.)

+0

Trong MVC tôi có thể có bảng phân cảnh không? – Saranjith

+0

Có thể. Chúng tôi có thể nhóm nhiều bảng phân cảnh trong Chế độ xem dựa trên các mô-đun khác nhau. –

+0

không phải là 'Dịch vụ 'không rõ ràng? –

2

Mặc dù John có một điểm, tôi thực sự đã tạo ra một dự án để chứng minh những gì tôi xem xét cấu trúc dự án Xcode đi chung của tôi cho một cơ sở mã nhỏ hoặc cỡ trung bình. Bạn có thể tìm thấy nó here.

Dưới đây là một phác thảo của nó:

  • Nguồn - Tất cả các mã nguồn
    • tài khoản - Tài khoản liên quan đến lớp học (lớp phiên liên quan, logic tài khoản, vv)
    • Application - dành cho ứng dụng các lớp liên quan. App đại biểu, các lớp cấu hình, vv
    • bổ sung Core - Phần mở rộng và các lớp con bắt nguồn từ lớp táo của
      • Utilities - lớp tiện ích chung.phần mở rộng hữu ích, tiện ích định dạng, các lớp học tiện lợi và như vậy
      • thư mục phần tử dựa trên - Folder cho UIView, UITableViewCell, vv
    • Persistence địa phương - lớp kiên trì địa phương. Tất cả các tương tác với cơ sở dữ liệu địa phương (lĩnh vực, dữ liệu cốt lõi)
      • Repositories - Tất cả các mô hình liên quan đến địa phương kiên trì Logic
    • Constants - Tất cả các hằng số. URL, phông chữ, màu sắc, lỗi, v.v.
    • Mô hình - Tất cả các mô hình (trình bày các thực thể phía máy chủ). Chúng tôi cũng sẽ vứt ở đây bất kỳ logic lập bản đồ đối tượng
    • Modules - Ở đây chúng ta có thể tìm thấy mỗi quân cờ của ứng dụng chia chức năng
      • thư mục module dựa trên - Mỗi thư mục chứa tất cả các mô-đun cụ thể xem các bộ điều khiển, quan điểm, các đại biểu và các lớp học liên quan
    • Networking - lớp mạng của ứng dụng (ví dụ như các lớp học có trách nhiệm để tương tác với các dịch vụ web)
      • dịch vụ - Tất cả các mô hình liên quan đến web Logic
  • Storyboards - Chứa tất cả các file storyboard
  • Tài nguyên - Bất kỳ nguồn additionaly như phương tiện truyền thông, tài liệu, tập tin địa hoá và như vậy
Các vấn đề liên quan