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

iPhone開發(fā)學(xué)習(xí)基礎(chǔ) Action 與 Objective-C

移動(dòng)開發(fā) iOS
本文介紹的是iPhone開發(fā)學(xué)習(xí)基礎(chǔ) Action 與 Objective-C,在學(xué)習(xí)iphone開發(fā)之前,我們要先了解它的以下相關(guān)信息。我們先來(lái)看內(nèi)容。

iPhone開發(fā)學(xué)習(xí)基礎(chǔ) Action Objective-C是本文要介紹的內(nèi)容。我們先來(lái)分析一下上一回初次接觸的Objective-C代碼。

  1.   - (IBAction)myAction1:(id)sender {  
  2.   int kakaku = [[motone text] intValue];  
  3.   switch([waribiki selectedSegmentIndex]){  
  4.   case 0:  
  5.   kakakukakaku = kakaku * (1.f - 0.2f);  
  6.   break;  
  7.   case 1:  
  8.   kakakukakaku = kakaku * (1.f - 0.3f);  
  9.   break;  
  10.   case 2:  
  11.   kakakukakaku = kakaku * (1.f - 0.4f);  
  12.   break;  
  13.   case 3:  
  14.   kakakukakaku = kakaku * (1.f - 0.5f);  
  15.   break;  
  16.   default:  
  17.   break;  
  18.   }  
  19.   [kekka setText:[NSString stringWithFormat:@"%d", kakaku]];  
  20.   } 

這里的代碼是使用Segmented Control實(shí)現(xiàn)折扣率變化時(shí)的Action。讓我們從最初的代碼開始。取出值Text Field控件中取得輸入值

首先,我們?nèi)〕鲇脩糨斎氲纳唐吩瓋r(jià)。前面已經(jīng)介紹過(guò)了,控件的值都是通過(guò)Outlet來(lái)得到的。這里Text Field的Outlet是「motone」,其代碼如下:

  1. int kakaku = [[motone text] intValue]; 

等號(hào)右邊就是通過(guò)Outlet得到值的方法。將其賦值到變量kakaku中。

Segmented Control控件中取得值

接下來(lái)我們從Segmented Control控件的Outlet「waribiki」中取得其設(shè)定值。這里,我們?nèi)〕龅氖荢egmented Control控件中的「第幾個(gè)按鈕被按下」。不同的按鈕對(duì)應(yīng)不同的折扣率。比如最左邊的按鈕是20%。

  1. [waribiki selectedSegmentIndex] 

這里最左邊的是索引是0,最右邊是3。

Objective-C的語(yǔ)法

接觸過(guò)C語(yǔ)言編程的朋友也許很快能適應(yīng)Objective-C的語(yǔ)法的語(yǔ)法,畢竟它是由C語(yǔ)言演化過(guò)來(lái)的語(yǔ)言(其中大量繼承了Smalltalk語(yǔ)言的思想)。我們以上面兩個(gè)控件為例,來(lái)學(xué)習(xí)一下它的基本語(yǔ)法。

Objective-C的函數(shù)調(diào)用

函數(shù)調(diào)用首先用 [ ] 來(lái)包住實(shí)現(xiàn)代碼。函數(shù)調(diào)用的對(duì)象叫做接收器(receiver,可以理解為對(duì)象實(shí)例)。

用Interface Builder配置的控件Outlet就是接收器。接收器與函數(shù)(Objective-C中叫做消息)之間用空格分開。用[ ]括住的一個(gè)整體就是一次函數(shù)調(diào)用。

你也可以嵌套的使用這樣的函數(shù)調(diào)用形式。比如從Text Field控件中取得輸入值的時(shí)候,就是先在「motone」中執(zhí)行了「text」,取出具體的文字對(duì)象,然后以其為接收器來(lái)執(zhí)行「intValue」消息。這樣,我們最終得到的結(jié)果就是一個(gè)整形的值。

計(jì)算與表示結(jié)果

接下來(lái)我們來(lái)計(jì)算打折后的價(jià)格。由商品原價(jià)「kakaku」和由Segmented Control控件得到的打折率需要計(jì)算出商品打折后的價(jià)格。比如選擇最左邊20%的時(shí)候,計(jì)算公式如下:

  1. kakakukakaku = kakaku * (1.f - 0.2f); 

小數(shù)后面的「f」表示「float」。如果將整數(shù)作為小數(shù)來(lái)使用的情況下,使用「1.f」而不是「1f」。

不同的折扣率需要不同的計(jì)算方法,這里使用switch語(yǔ)法來(lái)區(qū)分各種情形:

  1.   switch([waribiki selectedSegmentIndex]){  
  2.   case 0:  
  3.   kakakukakaku = kakaku * (1.f - 0.2f);  
  4.   break;  
  5.   case 1:  
  6.   kakakukakaku = kakaku * (1.f - 0.3f);  
  7.   break;  
  8.   case 2:  
  9.   kakakukakaku = kakaku * (1.f - 0.4f);  
  10.   break;  
  11.   case 3:  
  12.   kakakukakaku = kakaku * (1.f - 0.5f);  
  13.   break;  
  14.   default:  
  15.   break;  
  16.   } 

接下來(lái)我們使用Label控件的Outlet「kekka」來(lái)表示計(jì)算的到得打折扣價(jià)格「kakaku」。

  1. [kekka setText:[NSString stringWithFormat:@"%d", kakaku]]; 

與上面的函數(shù)調(diào)用不同,這里增加了參數(shù)。

Objective-C的函數(shù)調(diào)用

「setText」函數(shù)的參數(shù)是一個(gè)字符串,而「kakaku」變量是一個(gè)整數(shù),所以我們先將整數(shù)變換為字符串型「NSString」。這里我們使用到了「NSString」的字符串格式函數(shù)「stringWithFormat」。最后再通過(guò)Label控件的Outlet「kekka」經(jīng)具體的值表示出來(lái)。

在以后的學(xué)習(xí)中,我們將更加深入地學(xué)習(xí)Objective-C的各種語(yǔ)法和思想。

小結(jié):iPhone 開發(fā)學(xué)習(xí)基礎(chǔ)  Action Objective-C的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。

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

2011-07-18 14:59:20

iPhone Objective-

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-07-29 15:47:21

iPhone開發(fā) Objective- C

2010-09-01 09:19:33

Objective-CiPhone開發(fā)iPhone

2011-07-25 17:31:49

iPhone Objective-

2011-05-11 15:45:50

內(nèi)存管理Objective-C

2011-08-17 11:15:22

Objective-C語(yǔ)法

2013-08-21 14:57:42

objective-c問(wèn)題

2011-05-11 14:06:49

Objective-C

2011-07-28 15:11:23

iOS Objective-

2011-07-25 13:05:37

Objective-C 委托

2011-07-06 14:12:14

Objective-C

2011-08-10 19:01:18

Objective-C

2012-04-23 11:00:56

iOS開發(fā)Objective-CJavaScript

2010-11-04 16:32:00

Objective-C

2011-07-25 10:03:06

Objective-C 委托

2011-08-05 14:03:39

Objective-C 對(duì)象 模板

2014-04-01 10:50:42

iOS開發(fā)runtimeObjective-C

2011-08-04 09:47:33

iOS Objective- JavaScript

2011-07-25 10:14:13

Objective-C Xcode
點(diǎn)贊
收藏

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