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

2021-06-17 18:18:44 字數 2641 閱讀 7243

在前一篇文章中主要介紹了ios的作業系統層次、各層次所負責的功能,還有進行ios開發需要掌握的一些基本工具,以及很重要很重要的mvc模式。

關於一門開發語言,那個要學習的東西真是太多太多了,這兒我就稍微介紹點基礎的吧。

1⃣當我們建立乙個工程的時候,我們可以看到.h和.m檔案,.h檔案裡面建立的物件和方法都是public屬性,.m檔案裡建立的物件和方法是private屬性,在.m檔案中新增私有的@inte***ce和@end,在這個裡面可以建立一些例項物件,都是私有的。

2⃣當我們要建立乙個string型別的物件時:寫法如下:

@property(strong,nonatomic)

nsstring

*string;

以@property打頭,strong/weak定義了該string型別物件的指標,nonatomic代表該型別是非原子的。後面會有介紹。

3⃣當我們建立了這樣乙個例項物件以後,我們需要使用如下**:

@synthesizestring =

_string

;這段**就代表完成了該string型別的setter和getter方法,並且返回例項變數。

_string 用作它的返回例項變數。

4⃣當指標指向乙個物件時,我們可以使用特殊的型別:id或者使用靜態的型別(比如:uibutton *),id可以代替任何不清楚的型別。

5⃣呼叫objective-c方法的時候需要使用[];

6⃣呼叫setter或者getter方法的時候,用點方法,比如:self.display.text;

7⃣把log輸出到控制台使用nslog()方法;

8⃣使用乙個常量的nsstring型別,要用@「」這樣的格式,比如:@「string」;

9⃣使用alloc和init來為你的物件在記憶體中分配空間。

#import乙個檔案的.h檔案來引用到另乙個類中。

關於strong vs weak

strong:保持這個物件一直在堆疊中,直到我的指標不再指向它;

當我把我的指標設為nil的時候,這樣我就不再指向它了;

或者當我自己已經被從堆疊中移出的時候,這樣我也不能再指向它了。

weak:只要有strong型別的指標指向它,就一直保持它在堆疊中。

關於nil

乙個物件的指標沒有指向任何東西,就是nil;

比如: id obj = nil;

nsstring *string = nil;

在原始型別(int、double)中的作用就相當於0;

可以給nil傳送訊息,如果該方法有返回值的話,那麼返回的就是0;

關於例項方法和類方法

例項方法以減號「-」開頭,比如: - (void)getmyname;

類方法以加號「+」開頭,比如: + (id)alloc;

例項方法就是正常的例項方法,就好像普通方法一樣,類方法是建立和功能方法;

例項方法的呼叫方法:[method];

類方法的呼叫方法:[class method];

在例項方法中:

self:表示我的實現(implementation);

super:表示我父類的實現;

在類方法中:

self:表示這個類的類方法;

super:表示這個類父類的類方法;

何時使用id

當我們可能從另乙個類接收到乙個集合的物件的時候,而且我們還不確定在傳送過來之前這些物件到底是什麼型別的時候。

關於foundation框架

包含以下內容:

nsobject、nsstring、nsmutablestring、nsnumber、nsvalue、nsdata、nsdate、nsarray、nsmutablearray、nsdictionary、nsmutabledictionary等等,foundation框架是基礎框架之一。

關於框架的相關知識大家可以參考:

關於property list

這裡的property list主要是表示乙個集合,包含以下的類:

nsarray, nsdictionary, nsnumber, nsstring, nsdate, nsdata

nsdictionary是乙個鍵值對型別;

關於nsuserdefaults

1、是乙個小型的property list儲存;

2、它是乙個基礎版的nsdictionary,存在於你的應用程式的lunches裡。

3、一般用於儲存使用者的偏好設定這樣小的事件。

4、通過standarduserdefaults類方法來讀寫資料,

比如:[[nsuserdefaults standarduserdefaults] setarray:rvarray forkey:@「recentlyviewed」]; 

記得每次寫之後要進行同步操作:

[[nsuserdefaults standarduserdefaults] synchronize];

本次差不多就寫這麼多吧,其實ios入門還是很簡單的,不要被奇怪的語法所嚇到,等你用的多的時候你會發現,原來ios是如此的好學。。。。

大家加油~~~

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

今日開始跟大家一塊學習ios,也順帶這個機會我也從頭開始複習一遍吧。其實,ios學習起來並沒有想象中的那麼困難,只不過是你想要開發ios的話,成本相對比較高吧,在windows裡面裝虛擬機器的時代我是體驗過的,那個開發起來簡直就是苦不堪言啊,那個宕機的速度真是分分鐘的事,reset已經被用的如火純清...

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解析 安全儲存使用者密碼...