Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标-C还是可可优先_Objective C_Cocoa - Fatal编程技术网

Objective c 目标-C还是可可优先

Objective c 目标-C还是可可优先,objective-c,cocoa,Objective C,Cocoa,我是Mac/iOS开发新手。我是从C#net过来的。我的问题是我应该先读Objective-C还是Cocoa?我不想买两本书,开始读一本,却发现我应该只有一本书,然后去读。 谢谢 Curtis鉴于Cocoa框架是如何使用Objective-C构建的,学习语言是合乎逻辑的第一步。Objective-C只是C的超集。我所看到的所有Cocoa书籍都在第一部分介绍了Objective-C,然后继续描述如何使用框架。我建议你买一本可可书,翻阅一下,确保里面的Objective-C入门对你来说足够充实。在学

我是Mac/iOS开发新手。我是从C#net过来的。我的问题是我应该先读Objective-C还是Cocoa?我不想买两本书,开始读一本,却发现我应该只有一本书,然后去读。 谢谢
Curtis

鉴于Cocoa框架是如何使用Objective-C构建的,学习语言是合乎逻辑的第一步。

Objective-C只是C的超集。我所看到的所有Cocoa书籍都在第一部分介绍了Objective-C,然后继续描述如何使用框架。我建议你买一本可可书,翻阅一下,确保里面的Objective-C入门对你来说足够充实。

在学习框架之前,你不需要熟练掌握这门语言,甚至不需要像别人那样交换实现和分派块。事实上,这样的承诺是愚蠢的

同时,如果不牢牢掌握OOP、动态调度(消息传递)、MVC和其他重要概念,就无法学习Cocoa。其中一些是Objective-C的基础,一些是Objective-C的一部分,还有一些是与Objective-C分开的

我建议您开始学习这些概念,包括语言的基本部分,然后在深入学习之前学习框架。就像Regexident在他们对另一个答案的评论中所说的那样,如果不使用Cocoa,你几乎不可能练习Objective-C,因此不久之后你就需要开始使用框架来练习语言,在这一点上你将同时使用这两种语言进行练习

相关苹果文档:


如果你还不知道C,从那里开始。与Objective-C一样,您不需要成为一名成熟的C专家,但您需要了解指针、声明与语句、函数调用的工作方式、基本类型之间的差异以及其他基本概念。

我相信这里的各种答案(尤其是@Peter Hosey的答案)中有很多好的信息,但我想确保我们没有混淆行动

如果今天不学习可可,你就不可能真正地学习ObjC。这就像学习C#而不学习.NET。您绝对应该尽早关注Cocoa的模式和基本概念(如PH所指出的MVC)。但是你可以通过教你实用的IOS或Mac开发技术,而不是通过试图提供更多“纯Objc”体验的东西,比如编写命令行应用程序(即使基础是COCOA的一部分,所以即使你无法逃脱它),也会得到最好的。 这里的关键一课是,我建议新学员将重点放在教他们为iOS或OS X开发所需的整个过程的资源上。值得一起学习Xcode、ObjC和Cocoa(Touch),以及MVC、target/selector和其他关键模式,而不是一次只学一个


PH是绝对正确的,您不需要一次性学习所有ObjC。例如,您可以进行大量的开发,而从不使用块或KVO。(这可能会在iOS的未来版本中发生变化,但今天仍然如此。)

Cocoa框架是用Objective C编写的……您很可能会使用代码实践,利用NSObject(或其子类)的实例来实现这一点,您基本上就是在使用Cocoa。几乎没有一种明智的方法可以在没有其他方法的情况下学习其中一种。这有点像鸡和蛋。OP至少应该首先对语言的语法有一个明确的把握。我相信,在这个网站上出现的许多问题源于人们试图了解可可,而不了解它是建立在什么基础上的。绝对正确,马克。我的意思是,如果不同时使用英语单词(或NSObject等课程,又称可可),就不可能学习英语(或Objective-C)。你可以学习英语的抽象概念(比如语法),但除非你也学会使用英语单词,否则你根本无法用它来写东西。无论如何,我无意以任何方式反对你的回答我相信这个答案可能会误导OP。没有Cocoa学习ObjC就像没有.NET学习C#一样。虽然从技术上讲,您必须先学习一点ObjC,但当您需要使用Cocoa时,您的第一个教程大约需要5分钟。