经验丰富的Objective-C / Cocoa Devs:
我应该尽早吸收哪些关键概念,这将使我更接近那个有意义的顿悟时刻,并且我正在使用Objective-C / Cocoa有效地创建解决方案?我来自.NET / Java背景,所以我所做的一切都是基于这种范式。
我不需要深刻的细节,而是你遇到的一两件事情是不同的,需要一段时间才能融入。一个很好的例子就是当我从二十多年前从QuickBASIC转到C时......我花了很长时间才掌握指针的概念。因此,我会说从QuickBASIC跳转到C的关键概念是理解内存寻址。
答案 0 :(得分:5)
MEMORY MANAGEMENT。如果你不理解指针,堆栈和堆之间的区别,以及如何准确地管理内存,你将花费数年的时间来尝试使用Objective-C和Cocoa,但永远不会“得到它”。
(我从经验中说;我[不幸]被教导用类似Basic的语言编程,然后花了两年时间试图找出#!@#^%asterisk的意思。然后我参加了计算机工程课程,了解记忆,然后在一周内拿起Objective-C
答案 1 :(得分:3)
我会推荐Erik M. Buck和Donald A. Yacktman的Cocoa Design Patterns。如果您想了解更多关于Cocoa的关键概念及其背景和动机,那就是优秀的书。
我的清单:
答案 2 :(得分:2)
有许多不同之处,但关键的一个是垃圾收集器。它始终存在于.NET / Java中,但可选择存在于Cocoa中。如果你没有在Cocoa中使用GC,那么你真的需要grok引用计数:保留,释放,自动释放池。这是一个非常丰富的错误来源。
答案 3 :(得分:1)
有很多概念,这里很难涵盖。 Apple开发人员站点提供了很多关于编写应用程序,Cocoa框架和编写应用程序约定的精彩教程,指南和API文档。我会从那里开始: