iOS知識學習 iOS入門知識學習(一)

2021-06-17 17:52:41 字數 2237 閱讀 9509

今日開始跟大家一塊學習ios,也順帶這個機會我也從頭開始複習一遍吧。

其實,ios學習起來並沒有想象中的那麼困難,只不過是你想要開發ios的話,成本相對比較高吧,在windows裡面裝虛擬機器的時代我是體驗過的,那個開發起來簡直就是苦不堪言啊,那個宕機的速度真是分分鐘的事,reset已經被用的如火純清了,這樣你就需要一台mac,有了mac還不夠,總不能全部用模擬器開發吧,像定位啊之類的,還是需要實機來測試的,模擬器跟實機的差別還是挺大的。當然也沒必要開發之前就買乙個帳號,畢竟99刀一年呢,也挺貴的,可以到開發的後期再買。

好了,廢話不多說,開始學習ios了。。。

關於ios的介紹就不用講了。。這個隨便去搜一下也有一大堆說的,我們先從ios的系統層次開始說起:

從上到下ios分為4層,理解這4層的作用對於我們程式設計的作用相當大。

core os:該層主要包含一些作業系統的核心、檔案系統、安全性、證書之類的,一般我們很少接觸該層。

core services:該層主要包含跟網路相關的東西,還有資料庫、執行緒、**簿、網路服務等,該層為核心服務層。

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知識學習 iOS入門知識學習(二)

在前一篇文章中主要介紹了ios的作業系統層次 各層次所負責的功能,還有進行ios開發需要掌握的一些基本工具,以及很重要很重要的mvc模式。關於一門開發語言,那個要學習的東西真是太多太多了,這兒我就稍微介紹點基礎的吧。1 當我們建立乙個工程的時候,我們可以看到.h和.m檔案,h檔案裡面建立的物件和方法...

iOS知識學習 iOS開源專案彙總

掃瞄wifi資訊 條形碼掃瞄 tcp ip的通訊協議 voip sip three20 google gdata 720全景顯示panoramagl jabber client plblocks image processing json編碼解碼 base64編碼解碼 xml解析 安全儲存使用者密碼...

iOS知識學習 iOS開源專案彙總

掃瞄wifi資訊 條形碼掃瞄 tcp ip的通訊協議 voip sip three20 google gdata 720全景顯示panoramagl jabber client plblocks image processing json編碼解碼 base64編碼解碼 xml解析 安全儲存使用者密碼...