程序员人生 网站导航

OC学习篇之---概述

栏目:综合技术时间:2014-12-12 08:47:38
前言

终究开启了OC的学习篇了,之前由于工作上的事,学习就1直搁浅了,不过最近由于各种缘由,感觉必须要开启iOS的开发旅程了,不然就老了。由于之前1直是做Android的,所以学习iOS来就没那末费力了,固然我们知道,Android是Java语言支持的,iOS是OC支持的,关于OC的学习,会和Java相对照这来,这样效力也会高点,同时在大学里学了C/C++所以,学习OC就没甚么难度了,就是1套新的api.


概述

目前来讲,Objective-C(简称OC)是iOS开发的核心语言,在开发进程中也会配合着使用C语言、C++,OC主要负责UI界面,C语言、C++可用于图形处理。近来,流传Ruby、C#也能够开发iOS利用程序了,乃至还说Ruby比OC更合适写iOS程序。这让很多学习iOS开发的朋友感到很困扰,究竟学哪门语言好呢?OC会不会被Ruby、C#取代呢?如果被取代了,那我的OC不是白学了?下面我发表1下个人观点:

1> Ruby、C#也能做iOS开发,我觉得这也不算甚么坏事,能让更多领域的人投入iOS开发,聚集更多程序猿的智慧,多创造1些让人眼前1亮、有划时期意义的app,进而丰富AppStore、增进iOS的发展、造福消费者。
2> OC这门语言1直由苹果公司在保护,苹果当初选择OC作为iOS的开发语言,肯定是有理由的,这也说明了苹果对OC的肯定。从iPhone的成功也能够看出,苹果选择OC是对的。因此,我觉得OC被其他语言取代是不太可能的。
3> 退1万步讲,假设OC真的被Ruby它们取代了,我觉得这对经验丰富的OC开发者来讲,其实不是甚么致命的打击。不可能由于OC被淘汰了,广大OC开发者就没办法在软件行业混下去了。OC作为1门面向对象的语言,它的编程思想跟其他面向对象的语言都是差不多的,只不过语法特性不同。因此,你学了OC以后绝对不会吃亏,以后想学习其他语言也是非常快的,由于思想是1样的。比如之前你1直都开着丰田车,某1天丰田倒闭了,你的车子也烂了,难道给你1辆宝马,你就不会开了么?
4> 因此,我还是建议想学习iOS开发的朋友们,沉下心来好好学习OC吧!


语法简介

C语言是1门面向进程的语言,OC是在C语言的基础上,增加了1层最小的面向对象语法,为何说是最小的面向对象语法呢?由于OC把1些比较复杂的面向对象语法都去掉了,剩下的都是面向对象的精华,因此OC是1门面向对象的语言,而且会比C++简单很多。由于OC是基于C语言的,所以完全兼容C语言,也就是说我们在开发iOS程序进程中,可以在OC代码中混入C语言代码,乃至是C++代码。

在Java中,为了避免两个类名相同的类冲突,你可以将这2个类放在不同的包里面。OC中并没有"包"的概念,也就是没有命名空间机制,取而代之的是开发人员给类名加上前缀,使用前缀可以有效的避免类名冲突。比如NSString(OC中的字符串类)、NSArray(OC的数组类),它们的前缀都是NS
1> 我在前面说到,OC代码中是可以混入C语言、C++代码的,而C语言和C++作为1门编程语言,都有自己的关键字。为了避免跟C语言、C++关键字冲突,OC的关键字都以@开头。

下面罗列1些常见的关键字,看1眼就好了,不用去翻资料查找它们的含义,用到时我会解释的

@interface,@implementation,@end @public、@protected、@private,@selector @try、@catch、@throw、@finally @protocol,@class // OC 2.0中引入的新关键字有 @property,@synthesize @optional,@required,@dynamic
2> 乃至字符串都是以@开头的,比如@"Hello"是OC中的字符串,而"Hello"则是C语言中的字符串。

总结

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐