分類菜單
iphone開發(fā)

ios編程如何入門

iphone開發(fā)
發(fā)表時(shí)間:2017-09-07 4501人瀏覽

  學(xué)習(xí)移動(dòng)開發(fā),編程語言那是必不可少的一個(gè)難關(guān),我們?cè)谥暗奈恼轮芯鸵呀?jīng)知道,android的開發(fā)就是使用的是java語言,窗口應(yīng)用程序的開發(fā)一般都是使用c#語言開發(fā)的,那么ios的開發(fā)是使用objective-c語言,它是蘋果自身的一個(gè)開發(fā)語言,本文將會(huì)是帶大家入門一下該語言,語言在很多時(shí)候它都是相通的,比如你是有c語言基礎(chǔ)的話,那么上手是非??斓?。

  1.會(huì)發(fā)現(xiàn)當(dāng)我們建立一個(gè)工程的時(shí)候,我們可以看到.h和.m文件,.h文件里面建立的對(duì)象和方法都是public屬性,.m文件里創(chuàng)建的對(duì)象和方法是private屬性,在.m文件中添加私有的@interface和@end,在這個(gè)里面可以創(chuàng)建一些實(shí)例對(duì)象,這些它們都是私有的。

  2.如果是想要?jiǎng)?chuàng)建一個(gè)string類型的對(duì)象時(shí):它的寫法如下:

  @property(strong,nonatomic)nsstring*string;

  我們看到以@property打頭,strong/weak定義了該string類型對(duì)象的指針,nonatomic它是代表該類型是非原子的。

  3.當(dāng)我們創(chuàng)建了這樣一個(gè)實(shí)例對(duì)象以后,我們需要使用如下的一個(gè)代碼:

  @synthesizestring=_string;

  看到這段代碼,它就代表完成了該string類型的setter和getter方法,并且是返回實(shí)例的一個(gè)變量。

  _string用作它的返回實(shí)例變量。

  4.如果是當(dāng)指針指向一個(gè)對(duì)象時(shí),則是可以使用特殊的一個(gè)類型:id或者使用靜態(tài)的類型(比如:uibutton*),需要知道的是id它是可以代替任何不清楚的類型。

  5.當(dāng)在調(diào)用objective-c方法的時(shí)候需要使用[];

  6.調(diào)用setter或者getter方法的時(shí)候,記得是要用點(diǎn)方法,例如:self.display.text;

  7.把log輸出到控制臺(tái)使用nslog()方法;

  8.使用一個(gè)常量的nsstring類型,要用@“”這樣的格式,比如:@“string”;

  9.使用alloc和init來為你的對(duì)象在內(nèi)存中分配空間。

  #import一個(gè)文件的.h文件來引用到另一個(gè)類中。

  關(guān)于strongvsweak的介紹

  strong:可以是保持這個(gè)對(duì)象一直在堆棧中,直到我的指針不再指向它;

  當(dāng)我把我的指針設(shè)為nil的時(shí)候,這樣就不能再去指向它了;

  或者當(dāng)我自己已經(jīng)被從堆棧中移出的時(shí)候,這樣也就不能再指向它了

  weak:只要有strong類型的指針指向它,它就會(huì)一直保持它在堆棧中。

  再來看看關(guān)于nil

  如果是當(dāng)一個(gè)對(duì)象的指針沒有指向任何東西的話,這就是nil;

  我們會(huì)看到:idobj=nil;

  nsstring*string=nil;

  在原始類型(int、double)中,它的作用就相當(dāng)于0;

  我們是可以給nil發(fā)送消息,看到如果該方法有返回值的話,則返回的就是0;

  實(shí)例方法和類方法

  實(shí)例方法我們是以減號(hào)“-”開頭,比如:-(void)getmyname;

  類方法以加號(hào)“+”開頭,比如:+(id)alloc;

  實(shí)例方法就是正常的實(shí)例方法,就和普通的方法一樣,類方法它是創(chuàng)建和功能方法;

  那么實(shí)例方法的調(diào)用方法:[method];

  類方法的調(diào)用方法:[classmethod];

  在實(shí)例方法中:

  self:它表示我的實(shí)現(xiàn)(implementation);

  super:表示我父類的實(shí)現(xiàn);

  在類方法中:

  self:它的意思是表示這個(gè)類的類方法;

  super:它的意思是表示這個(gè)類父類的類方法;

  到底何時(shí)才會(huì)使用id

  在實(shí)際中,當(dāng)我們可能從另一個(gè)類接收到一個(gè)集合的對(duì)象的時(shí)候,而且我們還不確定在發(fā)送過來之前這些對(duì)象到底是什么類型的時(shí)候,就可以是使用id了。

  關(guān)于foundation基本的框架

  它是包含了以下的一些內(nèi)容:

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

  關(guān)于propertylist

  在這里的propertylist主要是表示一個(gè)集合,包含以下的類:

  nsarray,nsdictionary,nsnumber,nsstring,nsdate,nsdata

  nsdictionary它是一個(gè)鍵值對(duì)類型;

   后來看看關(guān)于nsuserdefaults

  1、它是一個(gè)小型的propertylist存儲(chǔ);

  2。也是一個(gè)基礎(chǔ)版的nsdictionary,并且是存在于你的應(yīng)用程序的lunches里。

  3、一般用于存儲(chǔ)用戶的偏好設(shè)置這樣小的事件。

  4、通過standarduserdefaults類方法來讀寫數(shù)據(jù),

  例如:[[nsuserdefaultsstandarduserdefaults]setarray:rvarrayforkey:@“recentlyviewed”];

  編寫的時(shí)候記得每次寫之后要進(jìn)行同步操作:

  [[nsuserdefaultsstandarduserdefaults]synchronize];

  在文中你會(huì)看到ios的語法是比較難一點(diǎn),初學(xué)的時(shí)候可不要被復(fù)雜的語法給蒙騙了,它的入門還算是比較簡(jiǎn)單的,因此我們有一定的耐心,以及有研究精神的來去學(xué)習(xí),上手之后將會(huì)發(fā)現(xiàn)它并不是特別的困難。


溫馨提示

個(gè)性定制課程


溫馨提示