2011-02-04 27 views
6

Tôi đã phát triển các ứng dụng web (chủ yếu) bằng cách sử dụng php và một chút python, mysql, vv trong nhiều năm nay. Tôi có một nắm bắt hợp lý về phát triển khách quan, và sử dụng các đối tượng càng nhiều càng tốt trong các dự án của tôi, mặc dù tôi chắc chắn không tận dụng hết chúng. Tôi đủ thoải mái để trở nên nguy hiểm với C++, C, và thậm chí còn xúc động một chút về ruby.Objective C for iOS ... một tài nguyên tốt cho một lập trình viên php?

Tất cả những gì đã nói, Mục tiêu C đang cho tôi một thời gian rất khó khăn. Không chắc chắn nếu đó là cú pháp, cấu trúc tệp, v.v., nhưng tôi chỉ không nắm được cách đặt đúng các thành phần khác nhau của một ứng dụng, mặc dù đã trải qua một vài hướng dẫn và giải thích trực tuyến. Tôi có xcode, và đã thử làm một số công cụ cơ bản, nhưng bị mất một cách nhanh chóng trong thực hiện thực tế.

Câu hỏi của tôi: Có ai có thể giới thiệu cho tôi một cuốn sách/sách thực sự vững chắc với một số ví dụ hay mà tôi có thể hướng dẫn để giúp tôi hiểu ngôn ngữ này tốt hơn không? Tôi chủ yếu quan tâm đến tương tác cơ sở dữ liệu (hoặc phân tích cú pháp xml) và khả năng truyền/phát âm thanh.

Mọi đề xuất sẽ được đánh giá rất nhiều! Cảm ơn!

+3

Chỉ cần ngồi xuống và viết một tiện ích nhỏ với giao diện người dùng để sử dụng cá nhân của bạn. Nó sẽ dạy cho bạn rất nhiều. – Costique

Trả lời

3

3 mục:

Cú pháp không phải là vấn đề lâu dài. Chỉ cần tiếp tục đọc mã Objective C, và khá sớm các dấu ngoặc sẽ bắt đầu có vẻ quen thuộc như các dấu chấm (hoặc các hình thức lạm dụng dấu câu) khác trong các ngôn ngữ OO khác.

Nếu bạn là người lập trình ngôn ngữ thủ tục, bạn sẽ phải có được đầu xung quanh thiết kế ứng dụng hướng sự kiện. Ý tưởng cơ bản là bạn không thể luôn luôn nói với các hệ điều hành phải làm gì, khi bạn muốn làm điều đó, và sau đó làm điều tiếp theo. Bạn phải học cách cắt mã thủ tục của bạn thành callbacks, và sau đó để cho hệ điều hành gọi mã của bạn khi hệ điều hành là tốt và sẵn sàng. Bạn có thể phải tìm hiểu cách lưu trạng thái thích hợp giữa các cuộc gọi lại (ví dụ: Bạn không thể sử dụng "chỉ số vòng lặp" giữa các lần gọi lại mà không lưu nó ở đâu đó.)

Bạn cũng có thể phải quen với mẫu thiết kế MVC hướng đối tượng . Nó giống như tìm ra sự khác biệt giữa các thủ tục viết cho một cửa hàng một người đàn ông, và thiết lập các hoạt động cho một doanh nghiệp lớn hơn với các bộ phận trong các tòa nhà riêng biệt. Anh chàng nói chuyện với khách hàng không phải là anh chàng đóng sách. Tương tự với MVC, khung nhìn hiển thị giao diện người dùng cho người dùng không nhất thiết phải là cùng một đối tượng lưu trữ hoặc cập nhật dữ liệu đại diện cho những gì người dùng nhìn thấy hoặc thực hiện. Một khi bạn học được logic của sự tách biệt, tìm ra tập tin để tìm kiếm cái gì đó sẽ dễ dàng hơn một chút.

+0

Hmm .... ok có rất nhiều ý nghĩa. Tôi đã thực hiện lập trình ActionScript trong quá khứ, và đào khá sâu vào ruột của javascript, vì vậy tôi nghĩ rằng tôi nhận được những gì bạn đang nói ở đây, và điều này thực sự giúp vô cùng. Bạn đang ở chỗ với vấn đề ngôn ngữ thủ tục ... tôi nghĩ rằng trong dòng khi tôi cần phải suy nghĩ trong các cuộc gọi ... chính xác? Dù bằng cách nào ... cảm ơn bạn! Chỉ một chút thôi đã giúp tôi rất nhiều. Bây giờ tôi chỉ cần tìm ra cách ui tương tác với các yếu tố đã nói, v.v ... – Jonathan

0

Các tài liệu chính thức là rất tốt: http://developer.apple.com/library/ios/#navigation/

Đây là một cuốn sách tuyệt vời. Bạn cần phải hiểu Objective-C trước khi bạn bắt đầu nhảy vào việc tạo ra các ứng dụng (Cocoa Touch): http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321711394/ref=sr_1_2?s=books&ie=UTF8&qid=1296848502&sr=1-2

Đây là một cuốn sách trung gian lớn: http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022/ref=sr_1_1?ie=UTF8&qid=1292262048&sr=8-1

Đây là một diễn đàn tuyệt vời để tìm hiểu cụ, ngoài ra, rõ ràng, để ở đây: http://www.iphonedevsdk.com/forum/

các nhà phát triển video Apple cũng là rất lớn, và bạn có thể tải chúng với iTunes nếu bạn muốn, để có chúng trên đường đi: http://developer.apple.com/videos/

Ngoài ra, hãy kiểm tra các đoạn video Lập trình Lớp học Stanford iPhone trên iTunes.

EDIT:

Dưới đây là các tài liệu trên lớp XML của Apple, NSXML: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLDocument_Class/Reference/Reference.html

Và nếu bạn đang đi để được sử dụng cơ sở dữ liệu, có lẽ họ sẽ SQLite, và bạn chắc chắn sẽ muốn để kiểm tra trình bao bọc này cho SQLite: https://github.com/ccgus/fmdb

0

Tôi không thể giới thiệu bất kỳ sách nào (tôi đã học bằng cách thực hiện nhiều thử nghiệm), nhưng nếu bạn muốn bắt đầu với Objective-C, tôi khuyên bạn nên biết con trỏ là gì và cách sử dụng chúng. Chúng tạo thành phần cơ bản nhất của Objective-C và một khi bạn hiểu chúng (và NSObject), bạn hiểu 50% của chính ngôn ngữ đó.

Bạn có thể, tất nhiên, đọc tài liệu hướng dẫn của Apple tại http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/

+0

Hmm ... yea Tôi hiểu con trỏ từ bàn chải của tôi với C++, và tôi bắt đầu hiểu những gì NSObject là (Steve Jobs và NextStep thinger) .. Tôi đoán tôi hiểu 50% ngôn ngữ lol :) Cảm ơn mặc dù ! – Jonathan

1

tôi thấy cuốn sách Aaron Hillegass' thực sự hữu ích trong việc học Objective-C

iPhone Programming Big Nerd Ranch Guide

Có một loạt các chương tốt mà đi thông qua việc tạo các ứng dụng của riêng bạn, bạn có thể triển khai ngay trên iPhone/iPad hoặc chạy trong trình mô phỏng. Ông giải thích một số khái niệm nặng hơn, tức là Dữ liệu cốt lõi thực sự tốt.

Khác với tài liệu Apple Developer là tài nguyên tuyệt vời và vô giá.

Các vấn đề liên quan