iOS開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
用Object-C寫(xiě)的一個(gè)簡(jiǎn)單的計(jì)算機(jī)程序,主要學(xué)習(xí)按鈕的action動(dòng)作。
下面是主界面:
下面代碼時(shí)界面按鈕和ViewController.h連接的地方:
- (IBAction)button_0:(UIButton *)sender; - (IBAction)button_dian:(UIButton *)sender; - (IBAction)button_dengyu:(UIButton *)sender; - (IBAction)button_1:(UIButton *)sender; - (IBAction)button_2:(UIButton *)sender; - (IBAction)button_3:(UIButton *)sender; - (IBAction)button_4:(UIButton *)sender; - (IBAction)button_5:(UIButton *)sender; - (IBAction)button_6:(UIButton *)sender; - (IBAction)button_7:(UIButton *)sender; - (IBAction)button_8:(UIButton *)sender; - (IBAction)button_9:(UIButton *)sender; - (IBAction)button_jia:(UIButton *)sender; - (IBAction)button_jian:(UIButton *)sender; - (IBAction)button_cheng:(UIButton *)sender; - (IBAction)button_chu:(UIButton *)sender; @property (weak, nonatomic) IBOutlet UITextField *result;
下面在ViewController.m中來(lái)寫(xiě)按鈕的點(diǎn)擊事件:
- (IBAction)button_0:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"0"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_dian:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"."]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_dengyu:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? double sum; ? ? if([strOperator isEqualToString:@"+"]){ ? ? ? ? sum = [str doubleValue] + [resString doubleValue]; ? ? ? ? self.result.text =[NSString stringWithFormat:@"%f",sum]; ? ? }else if([strOperator isEqualToString:@"-"]){ ? ? ? ? sum = [str doubleValue] - [resString doubleValue]; ? ? ? ? self.result.text =[NSString stringWithFormat:@"%f",sum]; ? ? }else if([strOperator isEqualToString:@"+"]){ ? ? ? ? sum = [str doubleValue] * [resString doubleValue]; ? ? ? ? self.result.text =[NSString stringWithFormat:@"%f",sum]; ? ? }else if([strOperator isEqualToString:@"+"]){ ? ? ? ? sum = [str doubleValue] / [resString doubleValue]; ? ? ? ? self.result.text =[NSString stringWithFormat:@"%f",sum]; ? ? } } - (IBAction)button_1:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"1"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_2:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"2"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_3:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"3"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_4:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"4"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_5:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"5"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_6:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"6"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_7:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"7"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_8:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"8"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_9:(UIButton *)sender { ? ? NSString *resString = self.result.text; ? ? NSString *newString = [resString stringByAppendingString:@"9"]; ? ? self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_jia:(UIButton *)sender { ? ? str = self.result.text; ? ? strOperator = @"+"; ? ? self.result.text = [NSString stringWithFormat:@" "]; } - (IBAction)button_jian:(UIButton *)sender { ? ? str = self.result.text; ? ? ? strOperator = @"-"; ? ? self.result.text = [NSString stringWithFormat:@" "];} - (IBAction)button_cheng:(UIButton *)sender { ? ? str = self.result.text; ? ? ? strOperator = @"*"; ? ? self.result.text = [NSString stringWithFormat:@" "]; } - (IBAction)button_chu:(UIButton *)sender { ? ? str = self.result.text; ? ? ? strOperator = @"/"; ? ? self.result.text = [NSString stringWithFormat:@" "];}
注意這里的str 和strOperator在ViewController.h中聲明的:
NSString *strOperator; ? ? ?NSString *str;
這就完成了一個(gè)簡(jiǎn)單的計(jì)算器。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS開(kāi)發(fā)技巧之WeakSelf宏的進(jìn)化詳解
在程序中我們經(jīng)常用到Block,但寫(xiě)weak self 時(shí)會(huì)比較繁瑣,下面這篇文章主要給大家介紹了關(guān)于iOS開(kāi)發(fā)技巧之WeakSelf宏的進(jìn)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們一起來(lái)看看吧2018-05-05蘋(píng)果公司推出的新編程語(yǔ)言Swift簡(jiǎn)介和入門教程
這篇文章主要介紹了蘋(píng)果公司推出的新編程語(yǔ)言Swift簡(jiǎn)介和入門教程,Swift是蘋(píng)果于WWDC 2014.6.3發(fā)布的編程語(yǔ)言,主要用來(lái)替代Objective-C,需要的朋友可以參考下2014-06-06iOS自定義字體設(shè)置和系統(tǒng)自帶的字體詳解
這篇文章主要給大家介紹了關(guān)于iOS自定義字體設(shè)置和系統(tǒng)自帶的字體的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01iOS應(yīng)用開(kāi)發(fā)中使用Auto Layout來(lái)適配不同屏幕尺寸
這篇文章主要介紹了iOS應(yīng)用開(kāi)發(fā)中使用Auto Layout來(lái)適配不同屏幕尺寸的方法,根據(jù)Xcode IDE下的實(shí)際調(diào)試步驟講解其用法,需要的朋友可以參考下2016-03-03IOS小組件實(shí)現(xiàn)時(shí)鐘按秒刷新功能
小組件運(yùn)行在單獨(dú)的進(jìn)程,如果異常會(huì)導(dǎo)致小組件進(jìn)程卡死了,一個(gè)小組件出問(wèn)題,其他小組件都不刷新了。既然刷新這么難控制,怎么實(shí)現(xiàn)數(shù)字時(shí)鐘按秒刷新呢?接下來(lái)通過(guò)代碼給大家介紹下ios小組件刷新功能的實(shí)現(xiàn),一起看看吧2021-05-05iOS開(kāi)發(fā)中不合法的網(wǎng)絡(luò)請(qǐng)求地址如何解決
這篇文章主要介紹了iOS開(kāi)發(fā)中不合法的網(wǎng)絡(luò)請(qǐng)求地址的解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09iOS中關(guān)于模塊化開(kāi)發(fā)解決方案(純干貨)
這篇文章主要介紹了iOS中關(guān)于模塊化開(kāi)發(fā)解決方案(純干貨)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09iOS開(kāi)發(fā)中多線程的安全隱患總結(jié)
在本篇文章中小編給大家整理了關(guān)于iOS開(kāi)發(fā)中多線程的安全隱患的知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)參考下。2019-07-07