iPhone开发入门(5)—iPhone编程初步

  • 博主:易飞扬
  • 原文链接 : http://www.yifeiyang.net/introduction-to-iphone-development-5-iphone-programming-preliminary/
  • 转载请保留上面文字。
  • iPhone开发入门(5)---iPhone编程初步

    上一回 我们学习了用Interface Builder来制作程序的界面。这回我们来学习程序中具体的操作和处理。

    确认操作与处理

    首先让我们确认一下用户怎样操作控件,程序应该怎样处理这些操作。

    这个应用程序是通过用户输入商品价格,并选择折扣比率,来计算打折后的价格。用户需要以下两步操作 :

    • 输入商品金额
    • 选择折扣率

    这之后,程序中计算打折后的金额并表示输出。

    Outlet与Action

    在我们开始编程之前,需要记住以下两个单词。在以后我们会经常用到它们。

    Outlet

    通过outlet,我们可以从控件中取出信息,或者将新的信息赋予控件。按照词典上的解释outlet可以理解为插座的意思。界面上配置的每个控件,就像是通过“插座”与界面连接。这里,将程序设置在“插座”内,实现控件与界面间的信息交换。

    Action

    Action就是指程序中具体的行为,处理。应用程序将按照Action内实现的内容来处理。比如,「按下按钮后的处理」或者「输入文字后的处理」等等。

    编写程序

    接下来我们就开始写程序了。最初的程序在Interface Builder上编写。

    生成Outlet

    刚才已经说到,这个程序中需要编程的控件分别是用户输入商品金额与选择折扣率,以及在画面上显示打折后的金额。就是说,我们需要生成3个Outlet。

    File's Owner

     

    File's Owner中表示程序的ICON

    在Interface Builder内部,程序的实体用ICON来表示。其中「File's Owner」的ICON就是表示程序实体。在File's Owner中可以生成Outlet。

    选择File's Owner,点击Inspector的最右边的Identity标签。其中「Class Outlets」项目就是Outlet的表格。点击「+」可以追加新的Outlet。

    add Outlet

     

    追加Outlet

    首先我们创建一个名为「motone」的Outlet,代表商品的原价。第二个为「waribiki」,代表选择的折扣率。最后创建一个名为「kekka」的Outlet,代表打折后的价格,用来放入界面中的控件。像是下图所示:

    outlet

     

    生成Action

    与Outlet一样,ACtion也是由Inspector做成。在刚才的 Class Outlets 之上有「Class Actions」。这里我们只需要处理「表示打折以后的价格」,在Class Actions内追加一个Action就可以了。缺省命名为「myAction1: 」。

    action

     

    追加Action

    与控件关联

    接下来,我们将做好的Outlet与控件关联起来。在“File's Owner”ICON上点右键,在出现的窗口上可以看到刚才生成的Outlet和Action。如下图:

    Outlet

     

    每个Outlet的右边都有一个圆圈的选择按钮(鼠标光标移动到其上面后,会变成一个加号),将其拖拽到对应界面上的控件。这之后,从圆圈到控件会有一根线连接起来,控件也会被蓝色的线条框包住。如下图:

    Outlet

     

    关联之后,Outlet的名称的右侧将表示控件的名称。同样的方法将3个控件都与对应的Outlet关联。如果想要取消关联,点击表示部分的×后就可以了。

    Action的接续方法与Outlet一样,也是通过拖拽来实现。这里我们就将「myAction1: 」右边的圆圈按钮与对应的Segmented控件关联。如下图:

    Outlet

     

    关联之后,会让你选择具体的行为事件,这里因为是更改折扣比率,所以选择「Value Changed」。

    action

     

    创建文件

    截止到现在,我们还没有写过一行代码。其实,在你将Outlet与控件关联的时候,Interface Builder已经代你写了不少程序了。先让我们来确认一下:

    选择File's Owner,在Interface Builder菜单上点击[File]→[Write Class Files...]保存文件到(BargainSaleViewController.m)。

    action

     

    如果已经有文件存在了,就覆盖它。这样,源代码文件就被保存起来了。我们打开来看看。

    action

     

    Outlet被定义在.h头文件中(BargainSaleViewController.h)。你可以打开它确认一下。「motone」「waribiki」「kekka」3个Outlet,Action「myAction1: 」。

    编写Action

    接下来我们来实现具体的Action。打开有「myAction1:」的.m文件(BargainSaleViewController.m)。在「myAction1:」函数内用下面的代码来实现。

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

    之后编译,就可以启动模拟器来测试了。

    action

    相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值