想要学 Objective-C 在 iPhone 及 Mac 上开发软体,看以下 Apple 官方的资料,一定是一头雾水。
(1) The Objective-C 2.0 Programming Language
(2) Objective-C 2.0 Runtime Programming Guide
(3) Objective-C 2.0 Runtime Reference
理由很简单,这些资料是参考 (reference),而非教学(tutorial),是假设你已经懂得程式设计,然后告诉你 :
(1) Objective-C 跟 C 语言的差异 (new feature for C)
(2) Objective-C 的执行环境 (Objective-C runtime)
便假定你可以开始跟 iPhone 的程式师一样,可以开始写程式了,如果遇到问题,就参考 Apple Getting Start 的说明文见,然后自己就可以搞定。
事实上,那是理想的情况,真正看完 The Objective-C 2.0 Programming Language,你还是一头雾水。因为连最简单的 Hello World!,你也不知道该怎么写。更别说那些看起来跟 C 或 C++ 差异非常大的 Objective-C 语法,说实话看起来有点真的有点像天书(傻笑~)。
所以我建议参考下面两本书,来入门熟悉 Objective-C,Cocoa Touch 及如何开发 iPhone 程式:
(1) Programming in Objective-C 2.0, 2nd Edition
- Introduction
- Programming in Objective-C
- Classes, Objects and Methods
- Data Types and Expressions
- Programming Looping
- Making Decisions
- More on Classes
- Inheritance
- Polymorphism, Dynamic Typing, and Dynamic Binding
- More on Variables and Data Types
- Categories and Protocols
- The Preprocessors
- Underlying C Language Features
- Introductions to The Foundation Framework
- Numbers, Strings, and Collections
- Working with Files
- Memory Management
- Copying Objects
- Archiving
- Introduction to Cocoa
- Writing iPhone Application
(2) iPhone For Programmers An App-Driven Approach
- Introduction to iPhone App Development
- iPhone App Store and App Business Issues
- Welcome App
- Tip Calculator Application
- Favorite Twitter Search Application
- Flag Quiz Game Application
- Spot-On Game Application
- Cannon Game Application
- Painter Application
- Address Book Application
- Rute Tracker App
- Slideshow App
- Enhanced Slide App
- Voice Recorder App
- Enhanced Address Book App
- Twitter Discount Airfares App
建议这两本书,除了内容不错外,最主要还是因为都是以应用为导向,让你ㄧ边实作,一边学习。当然只有这两本是不够的,因为其中关于设计模式(design pattern),也是点到为止。所以参考 Apple 官方的文件,是免不了的。
Programming in Objective-C 2.0, 2nd Edition 这本书,在第二章就让你自己用 Objective-C 写你的 Hello World! 程式,然后依序介绍 Objective-C 的语法元素,Objective-C 就不在是那么遥不可及。Objective-C 语法是一定要搞得很清楚的,这是基本功。
iPhone For Programmers An App-Driven Approach 这本书,则是针对如何应用 Foundation 及 Cocoa Framework,逐一用例子,加以示范及说明。这比看资料,然后自己去想如何使用容易多了,毕竟写书的人,一定是有经验,可以让你少跑些冤妄路。
后面的笔记,就是根据读这两本书的内容,摘要而写的。
未完待续,期待下一篇吧 .........