自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談iOS MVC 學(xué)習(xí)基礎(chǔ)

移動開發(fā)
本文講述的是淺談iOS MVC 學(xué)習(xí)基礎(chǔ),MVC大家也許已經(jīng)很熟悉了,在iOS開發(fā)中MVC的機制被使用的淋漓盡致,并且我覺得在iOS上寫程序,充分理解iOS的MVC模,我們先來看內(nèi)容。

iOS MVC 學(xué)習(xí)基礎(chǔ)是本文要介紹的內(nèi)容,先來看內(nèi)容。相信說起MVC(Model-View-Controller)大家都很熟悉。在iOS開發(fā)中MVC的機制被使用的***,并且我覺得在iOS上寫程序,充分理解iOSMVC模式,有助于我們程序的組織合理性,相反,我們不遵守MVC的一些約定,程序是可以寫的,但就等著受苦了。

下面我只對一些約定列一個表,并且說一下iOS的支持機制啊,算分享給大家:

1、Model不允許和Controller,View打交道。也就是Model根本不知道誰會用自己,Model中不能有任何對Controller和View的引用。正所謂:Don't call me, I will call you.就是給Model設(shè)計說的。

我們再想想,在一般程序中Model到處被拿去用,它要維護到底誰用真的很難。那你會問:兄弟,那當Model的數(shù)據(jù)變了,我怎么通知視圖更新呢?這里常用的機制就是廣播模式,或者電臺模式,或者事件機制都行。在iOS中有兩種支持機制:Notification和KVO(Key-Value Observing)。

這兩種東西原理差不多,KVO是iOS中的一個核心概念,簡單理解就是:關(guān)注Model某個數(shù)據(jù)(Key)的對象可以注冊為監(jiān)聽器,一旦Model某個Key的Value發(fā)生變化,就會廣播給所有的監(jiān)聽器。這和Flex,JavaFX中的綁定都是一個道理。

2、View不允許直接引用Controller和Model,它很專一地被Controller控制來進行數(shù)據(jù)的顯示和接收用戶的交互。我們知道View顯示的時候需要數(shù)據(jù),我們也知道在View上會產(chǎn)生事件。如果要達到不和Controller,Model直接打交道,就需要機制來支持。

Objective-C中有Protocol的東西,并且提出Delegate(代理模式)就是來解決UIView想和Controller松耦合互動問題的。除了這個外,iOS還提供了Action-Target模式來讓Controller監(jiān)聽View的事件。那對View如何獲得數(shù)據(jù),iOS中提了Data Source的概念,其實也是Protocol的應(yīng)用。

3、每一次推給用戶的一個操作屏幕,***都是MVC的三者組合,不要出現(xiàn)一組以上的MVC組合。

小結(jié):關(guān)于淺談iOS MVC 學(xué)習(xí)基礎(chǔ)的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-22 15:50:06

Cocoa MVC 視圖

2016-12-19 11:17:48

架構(gòu) MVC

2011-07-04 15:43:03

Qt 布局管理器 designer

2011-07-04 16:20:54

QT 窗口 QWidget

2009-07-23 15:44:39

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2011-07-26 17:31:52

iOS 設(shè)計模式

2014-08-29 15:16:41

SDN

2009-04-24 09:43:09

.NETASP.NET框架

2009-06-05 11:01:23

struts mvcMVC工作原理

2017-07-21 14:00:00

iOSCrashMach異常

2017-07-25 12:40:42

iOSCrash僵尸對象

2010-07-22 12:31:10

Aix Telnet

2009-12-07 09:23:05

ASP.NET MVC

2010-01-26 17:42:14

Android浮點

2009-07-14 18:28:58

Swing入門

2009-07-15 13:06:38

Swing組件

2009-07-20 12:42:04

MvcContrib.ASP.NET MVC

2009-07-22 09:25:36

iBATIS映射文件

2011-08-02 14:35:11

IOS應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號