iPhone开发 Action 与 Objective-C 学习基础

移动开发 iOS
本文介绍的是iPhone开发 Action 与 Objective-C 学习基础,从iphone开发,从点滴开始学习,具体内容先来看本文介绍。

iPhone开发 Action 与 Objective-C 学习基础是本文要介绍的内容,不多说,我们吸纳来看内容。我们先来分析一下上一回初次接触的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实现折扣率变化时的Action。让我们从最初的代码开始。

取出值

Text Field控件中取得输入值

首先,我们取出用户输入的商品原价。前面已经介绍过了,控件的值都是通过Outlet来得到的。这里Text Field的Outlet是「motone」,其代码如下:

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

等号右边就是通过Outlet得到值的方法。将其赋值到变量kakaku中。

Segmented Control控件中取得值

接下来我们从Segmented Control控件的Outlet「waribiki」中取得其设定值。这里,我们取出的是Segmented Control控件中的「第几个按钮被按下」。不同的按钮对应不同的折扣率。比如最左边的按钮是20%。

  1. [waribiki selectedSegmentIndex] 

这里最左边的是索引是0,最右边是3。

Objective-C的语法

接触过C语言编程的朋友也许很快能适应Objective-C的语法的语法,毕竟它是由C语言演化过来的语言(其中大量继承了Smalltalk语言的思想)。我们以上面两个控件为例,来学习一下它的基本语法。

iPhone开发 Action 与 Objective-C 学习基础

Objective-C的函数调用

函数调用首先用 [ ] 来包住实现代码。函数调用的对象叫做接收器(receiver,可以理解为对象实例)。

用Interface Builder配置的控件Outlet就是接收器。接收器与函数(Objective-C中叫做消息)之间用空格分开。用[ ]括住的一个整体就是一次函数调用。

你也可以嵌套的使用这样的函数调用形式。比如从Text Field控件中取得输入值的时候,就是先在「motone」中执行了「text」,取出具体的文字对象,然后以其为接收器来执行「intValue」消息。这样,我们最终得到的结果就是一个整形的值。

计算与表示结果

接下来我们来计算打折后的价格。由商品原价「kakaku」和由Segmented Control控件得到的打折率需要计算出商品打折后的价格。比如选择最左边20%的时候,计算公式如下:

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

小数后面的「f」表示「float」。如果将整数作为小数来使用的情况下,使用「1.f」而不是「1f」。

不同的折扣率需要不同的计算方法,这里使用switch语法来区分各种情形:

  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.   } 

接下来我们使用Label控件的Outlet「kekka」来表示计算的到得打折扣价格「kakaku」。

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

与上面的函数调用不同,这里增加了参数。

iPhone开发 Action 与 Objective-C 学习基础

Objective-C的函数调用

「setText」函数的参数是一个字符串,而「kakaku」变量是一个整数,所以我们先将整数变换为字符串型「NSString」。这里我们使用到了「NSString」的字符串格式函数「stringWithFormat」。最后再通过Label控件的Outlet「kekka」经具体的值表示出来。

在以后的学习中,我们将更加深入地学习Objective-C的各种语法和思想。

小结:iPhone开发 Action 与 Objective-C 学习基础的内容介绍完了,希望本文对你有所帮助,更多相关内容,请参考编辑推荐。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-07 17:04:33

iPhone Action Objective-

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-07-29 15:47:21

iPhone开发 Objective- C

2010-09-01 09:19:33

Objective-CiPhone开发iPhone

2011-07-25 17:31:49

iPhone Objective-

2011-05-11 15:45:50

内存管理Objective-C

2011-08-17 11:15:22

Objective-C语法

2011-07-28 15:11:23

iOS Objective-

2011-05-11 14:06:49

Objective-C

2013-08-21 14:57:42

objective-c问题

2011-07-25 13:05:37

Objective-C 委托

2012-04-23 11:00:56

iOS开发Objective-CJavaScript

2011-08-10 19:01:18

Objective-C

2011-07-06 14:12:14

Objective-C

2010-11-04 16:32:00

Objective-C

2011-07-25 10:03:06

Objective-C 委托

2011-08-05 14:03:39

Objective-C 对象 模板

2014-04-01 10:50:42

iOS开发runtimeObjective-C

2011-08-04 09:47:33

iOS Objective- JavaScript

2011-07-25 10:30:41

Objective-C Xcode 重构
点赞
收藏

51CTO技术栈公众号