首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习Objective-C和Cocoa的建议

学习Objective-C和Cocoa的建议
EN

Stack Overflow用户
提问于 2010-12-10 02:44:42
回答 2查看 462关注 0票数 1

我想学习objective-c和Cocoa。我想问你是否可以向我推荐任何种类的东西来学习这种语言和可可框架(用于Mac OS X开发)。我现在知道PHP。学习来自PHP的Obj-C会有困难吗?

PD:英语不是第一语言,我有一个相当好的水平。用我的英语知识学习会有那么难吗?

EN

回答 2

Stack Overflow用户

发布于 2010-12-10 03:13:32

太棒了!听到你想学习一些新的编程语言,我很振奋。

Objective-C是一种有趣的语言,因为它是包含Message Passing.的ANSI-C的超集,你可以考虑先学习C语言,因为它将帮助你学习一些与Message Passing.无关的计算机科学基础知识,一旦你了解了C语言,Objective C就更容易理解了。

此外,我发现在学习一门新语言时,了解它们之间的一些差异非常有帮助。(如果您已经理解了以下信息,或者它太基础了,请原谅!)

  • PHP是一种解释型语言。因此,每次运行PHP脚本时,php二进制文件或CGI可能会决定如何处理脚本中的每个函数调用或语句。另一方面,C是一种编译语言。这意味着首先编写C代码,然后将其“编译”成汇编语言(或多或少是机器码的书面语言表示),然后将其汇编成机器码(1和0)。

谢天谢地,您不必自己执行这些步骤!编译器和汇编器完成这些工作。关键是,C代码最终被转换成一个二进制应用程序,它直接运行在计算机的处理器上,而不是被interpreted.

  • You'll,需要学习如何自己管理内存和数据结构。在PHP中,变量和结构的内存是自动为您分配的。在C或Objective-C中,您的应用程序需要使用函数调用或消息来完成此任务。此外,当您的应用程序不再需要变量或数据结构时,您将需要释放内存。

  • PHP是所谓的“松散”或“动态”类型语言,意思是在脚本运行时检查变量的类型(目的是将一种类型转换为另一种类型)。

另一方面,C和Objective-C (大多数)是静态类型的,这意味着当应用程序为compiled.

  • Finally,时,将检查类型转换。Objective-C也有消息传递,这类似于函数调用,尽管消息总是发送到对象。

还有许多其他的区别,但这些是一些主要的区别。如果您有任何疑问,请随时发表评论。

此外,对于其他人,请随时指出我可能遗漏的任何错误或事情。

票数 2
EN

Stack Overflow用户

发布于 2010-12-10 04:17:00

除了Tom的回答之外,我想说的是你需要对内存分配和指针有一个很好的理解。这些都是来自PHP的新概念。

我建议学习和实践内存管理的不同层次,从简单到复杂,我会使用其他语言作为PHP到Objective-C的桥梁:

  • 堆栈分配(C)
  • 原始堆分配:(C++)
  • automatic ()/

()(C)

  • 智能堆分配:基于引用的新建/删除(Objective-C)

内存管理(C#)

  • 引用计数和垃圾回收malloc

以及处理该内存的工具:

  • 值类型、指针和数组(C)指向对象的
  • 指针(C++和C#)

这将帮助您理解内存块与指向该内存块的指针或引用之间的区别。

祝好运

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4401881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档