【iOS知识学习】_iOS入门知识学习(一)

今日开始跟大家一块学习iOS,也顺带这个机会我也从头开始复习一遍吧。

其实,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语言。


  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值