本文来源:http://www.zretc.com/technologyDetail/447.html
ios学习起来并没有想象中的那么困难,只不过是你想要开发ios的话,成本相对比较高吧,在windows里面装虚拟机的时代我是体验过的,那个开发起来简直就是苦不堪言啊,那个宕机的速度真是分分钟的事,reset已经被用的如火纯清了,这样你就需要一台mac,有了mac还不够,总不能全部用模拟器开发吧,像定位啊之类的,还是需要实机来测试的,模拟器跟实机的差别还是挺大的。当然也没必要开发之前就买一个帐号,毕竟99刀一年呢,也挺贵的,可以到开发的后期再买。
好了,废话不多说,开始学习ios了。。。
关于iOS的介绍就不用讲了。。这个随便去搜一下也有一大堆说的,我们先从iOS的系统层次开始说起:
从上到下iOS分为4层,理解这4层的作用对于我们编程的作用相当大。
Core OS:该层主要包含一些操作系统的内核、文件系统、安全性、证书之类的,一般我们很少接触该层。
Core Services:该层主要包含跟网络相关的东西,还有数据库、线程、电话簿、网络服务等,该层为核心服务层。
Media:看到这名字也知道,该层主要是跟多媒体相关的,包含视频、音频、图片、pdf、OpenAL、OpenGL等。
Cocoa Touch:该层为操作系统的最顶层,该层包含了构建iOS程序的关键framework,还有多任务啊、标准的view controller啊等等。
这边只是粗略的讲一下,有兴趣的可以去搜索更多的更详细的资料。
学习iOS开发,那就要知道开发iOS程序需要使用的常识性东西:
开发工具是XCode,Instruments。
Instruments 是应用程序用来动态跟踪和分析 Mac OS X 和 iOS 代码的实用工具。这是一个灵活而强大的工具,它让你可以跟踪一个或多个进程,并检查收集的数据。这样,Instruments 可以帮你更好的理解应用程序和操作系统的行为。
开发语言:Objective-c;
主要框架:Foundation、UIKit;
设计模式:MVC。
关于iOS中的MVC模式:
MVC成员:Model、View、Controller。
Model:你的程序是什么(并不是你如何展示出来);
Controller:你的Model如何展现给用户(UI逻辑);
View:Controller的仆人,展示Controller想展示的东西。
先看下面这张图,然后来理解MVC之间的通信:
在IOS的MVC模式当中,Controller占中心地位,从图中可以看出MVC三个成员之间互相是怎么通信的。
①Controller在任何时候都可以直接跟Model进行通信;
②Controller也可以直接跟View进行通信;
③Model和View之间相互不能通信;
④View如何跟Controller进行通信?
Controller在其本身放置一个target,然后在View上放一个action,当UI发生变化的时候,View就发送这个action。
有时候,View需要跟Controller进行同步,Controller就把自己设置为View一个delegate(委托),这样就可以执行Controller里的should、will、did等同步函数了。
View对自己展示的数据没有拥有权,即View是不拥有数据的。如果有需要的时候,他们会通过一个协议来要求。
Controller几乎永远都是那个数据源(不是Model);
⑤Controller为View解释或者格式化Model的信息。
⑥Model是UI无关的。
如果Model有信息要更新,Model会使用像广播机制一样的"radio station",来通知Controller,然后有必要的话,Controller会去通知View进行相应的操作。
本次先介绍iOS的系统层次跟MVC模式的相关知识,下次简单的介绍下Objective-c语言。
了解更多IOS入门学习知识欢迎持续关注中软国际技术知识库