【iOS开发】简易加法计算器的实现

需求描述
实现一个简易的加法计算器,可实现对整数和浮点数的加法运算,输出结果保留到小数点后面两位。

程序实现
新建一个名字为“Add”的iOS工程,打开Main.storyboard,将两个TextField、两个Label和一个Button拖入界面中,并摆放整齐,如图1所示。

图1 界面元素摆放示意图

在图1中,我们将其中一个Label命名为“+”,表示操作符,同时,将Button命名为“=”,当点击该Button的时候,即可看到运算的结果。

接下来,我们要让每个元素发挥它们应有的功能。点击Xcode左上方的第二个按钮,之后点击“ViewController.h”文件,操作完成之后的界面如图2所示。

图2 关联控件之前的界面示意图

在图2中,我们按住键盘上的“control”键,同时用鼠标将最左边的TextField拖入到“ViewController.h”文件的“@interface”和“@end”之间的空白区域,并松开“control”键和鼠标,弹出的操作界面如图3所示。

图3 关联第一个TextField示意图

在图3中,我们设置Name为“JS1”,并单击Connect,即可成功生成该TextField与程序中的JS1变量之间的关联关系。

对于另一个TextField,我们执行同样的操作,只是设置Name为“JS2”。

对于最下面的Label,我们设置Name为“HE”,并单击Connect,即可成功生成该Label与程序中的HE变量之间的关联关系。整个操作过程如图4所示。

图4 关联最下面的Label的示意图

最后需要做关联操作的是Button,我们同样按住键盘上的“control”键,同时用鼠标将Button拖入到“ViewController.h”文件的“@interface”和“@end”之间的空白区域,并松开“control”键和鼠标,弹出的操作界面如图5所示。

图5 关联Button的示意图

在图5中,我们选择Connection为“Action”,设置Name为“Add”,并单击Connect,即可将Button关联到Add操作上。

整个关联操作完成之后的ViewController.h文件内容如图6所示。

图6 整个关联操作完成之后的ViewController.h文件内容

在图6中,最左边的圆点表示控件和代码已经关联起来了。

下一步操作,我们要修改ViewController.m文件中sender函数的代码,让其执行加法操作。修改之后的sender函数的代码及注释如下:

- (IBAction)Add:(id)sender {
    NSString *numStr1 = self.JS1.text;  // 获取第一个加数
    NSString *numStr2 = self.JS2.text;  // 获取第二个加数
    float num1 = [numStr1 floatValue];   // 将第一个加数转换为float型
    float num2 = [numStr2 floatValue];   // 将第二个加数转换为float型
    float sum = num1 + num2;               // 获取两个数的和
    self.HE.text = [@"" stringByAppendingFormat:@“%0.2f",sum];   // 将最终的结果输出到界面上
}

编译并运行程序,其结果如图7所示。

图7 程序运行界面

在图7中,我们输入两个数,并单击=,即可计算出它们的和。同时也可以看到,最终的结果保留了两位小数。

总结
本文实现了一个简易的加法计算器,通过本文,大家可以了解iOS开发中界面元素和代码之间实现关联的方法。具体到本文中的代码,大家可以对之进行修改,实现加减乘除四则运算等更加复杂的操作。

时间: 2024-11-01 13:01:17

【iOS开发】简易加法计算器的实现的相关文章

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.       下载:https://github.com/mwaterfall/MWPhotoBrowser   目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下Gith

TDD的iOS开发初步以及Kiwi使用入门

测试驱动开发(Test Driven Development,以下简称TDD)是保证代码质量的不二法则,也是先进程序开发的共识.Apple一直致力于在iOS开发中集成更加方便和可用的测试,在Xcode 5中,新的IDE和SDK引入了XCTest来替代原来的SenTestingKit,并且取消了新建工程时的"包括单元测试"的可选项(同样待遇的还有使用ARC的可选项).新工程将自动包含测试的target,并且相关框架也搭建完毕,可以说测试终于摆脱了iOS开发中"二等公民"

IOS开发之简单音频播放器

        今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易的音频播放器,来犒劳一下自己这一天的UI学习成果.在用到UI的控件时如果很好的理解之前博客在OC中的Target-Action回调模式,感觉控件的用法会很顺手.下面的简易播放器没有用到多高深的技术,只是一些基本控件和View的使用.         话不多说简单的介绍一下今天的音频播

为什么我开发的android计算器只能计算一次,求高手指点!

问题描述 为什么我开发的android计算器只能计算一次,求高手指点! <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android&

IOS实现简易版的QQ下拉列表_IOS

下面我们通过实例代码来一步步看怎么实现, 首先建立了两个模型类, 一个Friend, 一个FriendGroup类. 数据源用的本地的一个plist文件. plist文件中包含了FriendGroup的name,friends数组等属性. Friend.h 示例代码 #import <Foundation/Foundation.h> @interface Friend : NSObject @property (nonatomic, copy) NSString *name; @end Fri

iOS开发UINavigation系列三——工具栏UIToolBar

iOS开发UINavigation系列三--工具栏UIToolBar         iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下: UINavigationBar:http://my.oschina.net/u/2340880/blog/527706 UINavigationItem:http://my.

iOS开发之微信聊天工具栏的封装

之前山寨了一个新浪微博(iOS开发之山寨版新浪微博小结),这几天就山寨个微信吧.之前已经把微信的视图结构简单的拖了一下(IOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊天界面开始吧.提到封装是少不了写代码的,在封装组件的时候,为了组件的可移植性,我们就不能用storyboard来拖拽了.为了屏幕的适配,适应不同屏幕的手机,所以在封装组件的时候是少不了为我们的组件来添加约束.今天博客中的所有代码都是脱离storyboard的,这些代码在别的工程中也是可以使用的.好,

IOS开发之视图和视图控制器

        视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西.在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多.在UIKit框架中都有一个UIWindow来容纳我们的View.应用程序中几乎全部的可视控件都是UIView以及UIView的子类的实例,并且UIWindow也是UIView的子类.UIWindow可以不借助于父类视图显示在屏幕上,其余的视图都需要添加到父视图中才能显示.窗口是用来显示视图的,下面我们将会结

iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值

在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property Name相同,然后通过运行时来生成和执行Setter方法给Model类的属性赋值. 通过Runtime来给Model类属性赋值的好处是多多的,它便于代码的后期维护,并且提高了开发效率.当你拿到解析后的字典时你不用一个一个的通过key去把字典的值赋值给相应的Model类的属性,本篇博客中会给出如何去遍历Mod