Cocoa和iPhone开发之间的差异

时间:2010-10-01 20:14:03

标签: iphone objective-c

我正在阅读Aaron Hillegass的书“Mac OS X的可可编程”,因为它在整个社区都受到强烈推荐。我想知道“Cocoa Programming”和iPhone开发之间是否存在极大差异。我对iPhone的开发更感兴趣,但我认为如果我对Cocoa感到满意之前iPhone的开发会更容易接受。

2 个答案:

答案 0 :(得分:6)

iPhone编程是Cocoa的一种形式(技术上称为“Cocoa Touch”)。它几乎共享所有相同的编程习惯,并且框架中存在巨大的重叠。

希勒加斯的书是一个很好的起点。在关于Hillegass的第7章之后,你将开始进入更多的“Mac”主题,比如文档窗口管理等。这一点都不容易理解,但这就是细节开始不同的地方,你会发现它不会直接翻译。

他教你思考的模式在所有情况下都会有用。但是你用于Mac的实际类和对象在iPhone世界中并不都具有等价性。在iOS上,视图管理(UIView)与Mac的NSView内容完全不同。我发现,它在iPhone上实际上更简单易懂。

Hillegass有一本新的iPhone专用书。我还没有浏览过它。

答案 1 :(得分:2)

最大的区别是iPhone编程中没有垃圾收集。您将在MacOS Cocoa中进行大量保留和释放调用。

第二个区别是Apple的一些课程不同。一般来说,一些不经常使用的方法已经从iPhone版本的类中消失了。

最后,您拥有所有UIKit类,例如UITableView,UITouch等,它们在MacOS中没有对应物。