A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

C语言终于通关了,接下来要学Object-C了,之前也看过一点点,后来觉得很难懂。又听其他同学抱怨OC是个怪娃娃,我就在网上搜索了一些东西,整理了一下,算是对OC的初认识。
不过,我们还是要相信,认真学习和坚持努力,是我们学好一门语言的最好方法。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
大部分编程语言都是基于C语法风格的,也就是我们常说的点语法,依靠小数点符号来调用方法或者获取类的成员(当然了,在C语言中类被替代为结构体)。它们通常都是自己实现类的定义(注意在这里Java与C#和C++有稍微一点不一样),但无论如何这些语言的具体细节都是一样的。当我们接触一个新的编程语言时,我们当然很乐意看到新语言的语法是我们似曾相识的。毕竟大部分程序员都了解C语言的语法。

然而Objective-C压根就不是C语法风格的编程语言。它与我们熟悉的语言语法区别太大以至于大部分程序员根本看不懂这些Objective-C代码是神马东西。
实际上Objective-C是很严格的C语言的超集。而与流行的编程语言风格又差距太大。作为C语言的超集,它增加了很多东西。
Objective-C是一个很“大”的语言,我是说它的语法很复杂而且又具备弹性。Apple公司已经尽可能减小了Objective-C语言的体积,然而,他们还是添加了一些东西来让Objecive-C表达式更加简单。
Synthesizing properties
Dot-syntax for accessing getters/setters
Garbage Collection
Blocks (closures)
Automatic Reference Counting
Weak references
所以虽然这个语言越来越大了,但是在表达同样的目的使用的代码却越来越简单。
OC 的未来发展
这4年来,我们可以看到Apple公司已经尽可能的减小了Objective-C语言的大小以及复杂度。他们也完成了手动内存自动管理以及经典C头文件的方式;而且开始慢慢对属性存取器引入点语法以及Automatic Reference Counting来方便程序员编程。但就现在看来,Objective-C还是比较难接触与学习的;之所以现在变得越来越流行唯一的原因就是它是做iOS app的唯一途径了。

13 个回复

倒序浏览
接触了其他语言,感觉oc有些东西真是有点费劲,不过也还好,语言都是相通的么,只是换了种写法
回复 使用道具 举报
恩恩,听说OC比较难。看了楼主的分析,确实得好好学
回复 使用道具 举报
点赞点赞!希望OC可以学好
回复 使用道具 举报
还没有升级,你是在哪里下载的
回复 使用道具 举报
swifi出现之后 oc大势已去啊
回复 使用道具 举报
Jusive 发表于 2015-9-27 10:38
swifi出现之后 oc大势已去啊

觉得oc和swif都很抽象
回复 使用道具 举报
jianjiao 发表于 2015-9-27 08:53
还没有升级,你是在哪里下载的

需要我可以分享下载链接给你哦,我同学下载的
回复 使用道具 举报
超集这个说法不错 还在基础班的豁然件觉得看到希望了
回复 使用道具 举报
wx_D3aDvzRw 发表于 2015-9-27 19:53
超集这个说法不错 还在基础班的豁然件觉得看到希望了

哈哈哈听说基础班好棒的,自己学基础感觉好苦逼
回复 使用道具 举报
请叫我焦卷卷 来自手机 中级黑马 2015-9-28 08:04:41
11#
听了大牛的分析顿感oc的重要度,可是对于c都还没掌握的菜鸟的我,这种感觉很不好……
回复 使用道具 举报
C语言是各种基础,OC的话大概就是那些各种关键字的应用需要记住,再就是英文单词了,尤其是后面的UI
回复 使用道具 举报
请叫我焦卷卷 发表于 2015-9-28 08:04
听了大牛的分析顿感oc的重要度,可是对于c都还没掌握的菜鸟的我,这种感觉很不好…… ...

加油哦,慢慢来,我现在看着OC都有点望洋兴叹的感觉,不过没关系,只要努力了,肯定会有一个结果的,一步一步来,切勿急躁

点评

说得好~一起加油~  发表于 2015-9-29 08:23
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马