Cocoa和iPhone开发之间的差异

Cocoa和iPhone开发之间的差异,iphone,objective-c,Iphone,Objective C,我目前正在阅读Aaron Hillegass的书《MacOSX的可可编程》,因为这本书在整个社区都得到了大力推荐。我想知道“Cocoa编程”和iPhone开发之间是否有极端的区别。我对iPhone开发更感兴趣,但我认为如果我在继续之前对Cocoa感到满意,那么iPhone开发将更容易掌握。iPhone编程是Cocoa的一种形式(技术上称为“Cocoa Touch”)。它共享几乎所有相同的编程习惯,并且在框架中存在巨大的重叠 Hillegass的书对这两个方面都是一个很好的起点。在阅读完Hille

我目前正在阅读Aaron Hillegass的书《MacOSX的可可编程》,因为这本书在整个社区都得到了大力推荐。我想知道“Cocoa编程”和iPhone开发之间是否有极端的区别。我对iPhone开发更感兴趣,但我认为如果我在继续之前对Cocoa感到满意,那么iPhone开发将更容易掌握。

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

Hillegass的书对这两个方面都是一个很好的起点。在阅读完Hillegass第7章之后,您将开始学习更多的“Mac”主题,如文档窗口管理等。所有这些都不难理解,但这正是它在细节上开始有所不同的地方,您会发现它不会直接翻译

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


Hillegass出版了一本针对iPhone的新书。我还没有浏览过它。

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

第二个区别是,苹果的某些类是不同的。一般来说,一些不太常用的方法是从iPhone版本的类中删除的


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

我只是想说同样的话。这本Hilegass的书很棒,但过了一会儿,它就变得非常适合Mac了。谢谢。我在读第21章o.o.。我想大概只有34章,所以我想我还是把它读完吧。如果它们是两个不同的世界,我只是不想浪费时间。IIRC,你必须在OS X上显式地启用垃圾收集,而且它从10.5开始才可用。