iOS技术浅谈之第一篇 (前言篇)

wdfd 9年前

前言:这是我第一次写博客,从我进入IT行业学习到现在已经有3年多了,才开始想到要写博客。这也许是因为人天生的惰性,但我前几天看到一篇博客讲到写博客的好处,我感触深刻随之我下定决心要开始写博客。写博客可以让自己更加充实,也可以帮助到他人,何乐而不为了,希望以后和各位笔友们一起成长。也希望大家对我多多提意见。

        好了,该说到正题了,谈到iOS首先大家就会想到苹果公司,我之所以选择做iOS,就是因为我很崇拜乔布斯. 在他的带领下iOS有了一片新天地。下面我就简单概述下iOS系统,首先iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。每层都包含很多系统框架,例如著名的UIKit框架就是在cocoa touch。也就是它让iOS 具有简单易用的界面、令人惊叹的功能,以及超强的稳定性,已经成为现在的最主流的移动操作系统之一。尽管其他竞争对手一直努力地追赶,iOS内置的众多技术和功能让 苹果设备始终保持着遥遥领先的地位。其实了对于iOS来说最好的一点就是它的安全性要高于其它移动操作系统(我个人认为,这是这让我看好的一点。),然后就是手机的内存的处理机制上也要优越于其它操作系统系统。 

iOS系统如此完美功不可没的当然是Objective-C语言,它是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言, 它能够和C、C++混合编程。

1.动态特性:Object-C具备一些动态特性,包括动态类型、动态绑定、动态加载,也就是Object-C在运行时才能知道一些对象的类型以及所调用的方法。

2.内存管理:OC是使用引用计数原则,现在OC引入ARC(自动引用计数原则)。引用计数有几个规则,一是谁创建谁释放,通过alloc、new和copy创建对象, 然后调用release或者autorelease去释放对象,第二是,除了alloc、new和copy之外创建的对象都是autorelease的, 第三谁retain了,谁释放。

3.其它语言特性:OC首先是只有单一继承,没有多重继承。属性访问,@property加上@synthesize使用后能够自动生成setter和getter方法。category,中文一般叫做类别,他能够为现有的类提供新的方法,他将类的实现分散到多个不同的文件或框架中,创建对私有方法的前向引用,向对象添加非正式协议。block语法,块,他通常代表小段的自包含的代码片段,因此,他们封装为可以并行执行的工作单元额外有用,还可以用于在集合中进行遍历,或者在其他操作 完成时作为回调。块代替传统回调函数的意义有两个:一是他们允许在方法实现的调用中就近写入代码,而且块经常被作为框架中一些方法的参数;二是他们可以访 问本地变量。OC中有很多类是以NS开头的,那是cocoa层里面Foundation框架的类库。

作为开发人员都应该知道,开发一个项目所要用到的开发模式,iOS也不例外,iOS开发中常用到的就是MVC模式,就是把项目分为Model、View和Controller三层进行管理。今天暂时就写到这,最后附赠一张传智播客的iOS学习路线图 ,这一些东西只是iOS开发的冰山一角,哪一东西要做好都要学很多东西,学好最重要的就是你对他的热情,路漫漫其修远兮,吾将上下而求索。</span></span></span>

来自:http://blog.csdn.net/by3g123/article/details/44079225