亚洲国产成人AⅤ毛片大全九色_成人无码一区二区三区免费网站_777久久人妻少妇嫩草AV_国产精品7m凸凹视频分类大全

分類(lèi)菜單
iphone開(kāi)發(fā)

ios編程如何入門(mén)

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

  學(xué)習(xí)移動(dòng)開(kāi)發(fā),編程語(yǔ)言那是必不可少的一個(gè)難關(guān),我們?cè)谥暗奈恼轮芯鸵呀?jīng)知道,android的開(kāi)發(fā)就是使用的是java語(yǔ)言,窗口應(yīng)用程序的開(kāi)發(fā)一般都是使用c#語(yǔ)言開(kāi)發(fā)的,那么ios的開(kāi)發(fā)是使用objective-c語(yǔ)言,它是蘋(píng)果自身的一個(gè)開(kāi)發(fā)語(yǔ)言,本文將會(huì)是帶大家入門(mén)一下該語(yǔ)言,語(yǔ)言在很多時(shí)候它都是相通的,比如你是有c語(yǔ)言基礎(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類(lèi)型的對(duì)象時(shí):它的寫(xiě)法如下:

  @property(strong,nonatomic)nsstring*string;

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

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

  @synthesizestring=_string;

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

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

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

  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類(lèi)型,要用@“”這樣的格式,比如:@“string”;

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

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

  關(guān)于strongvsweak的介紹

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

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

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

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

  再來(lái)看看關(guān)于nil

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

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

  nsstring*string=nil;

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

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

  實(shí)例方法和類(lèi)方法

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

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

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

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

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

  在實(shí)例方法中:

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

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

  在類(lèi)方法中:

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

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

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

  在實(shí)際中,當(dāng)我們可能從另一個(gè)類(lèi)接收到一個(gè)集合的對(duì)象的時(shí)候,而且我們還不確定在發(fā)送過(guò)來(lái)之前這些對(duì)象到底是什么類(lèi)型的時(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è)集合,包含以下的類(lèi):

  nsarray,nsdictionary,nsnumber,nsstring,nsdate,nsdata

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

   后來(lái)看看關(guān)于nsuserdefaults

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

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

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

  4、通過(guò)standarduserdefaults類(lèi)方法來(lái)讀寫(xiě)數(shù)據(jù),

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

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

  [[nsuserdefaultsstandarduserdefaults]synchronize];

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


溫馨提示

個(gè)性定制課程


溫馨提示