【IOS开发】IOS开发新手入门--简单计算器实现

编程语言基础:objective-c基础语法

编程工具:Xcode4.6


第一步:打开Xcode,选择下面的Create a new Xcode projectd

【IOS开发】IOS开发新手入门--简单计算器实现_第1张图片

第二步:选中如图,点Next进入下一步

【IOS开发】IOS开发新手入门--简单计算器实现_第2张图片

第三步:填写产品名称、公司标识,选iPhone

【IOS开发】IOS开发新手入门--简单计算器实现_第3张图片

第四步:选择项目放的位置,自己随便选个文件,create进入下一步

【IOS开发】IOS开发新手入门--简单计算器实现_第4张图片

第五步:进入编程界面,开始界面布局,拖放相关按钮(也可按住option键点击已有按钮复制)和一个文本框

【IOS开发】IOS开发新手入门--简单计算器实现_第5张图片

第六步:在ViewController.h代码里面添加代码如下

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    NSMutableString *sNum1; //操作数一
    NSMutableString *sNum2; //操作数二
    NSString *sOpt;	//操作符号记录
    int iSum; //计算结果
}
@property(nonatomic,assign) IBOutlet UITextField *calcResult; //计算结果输出框


-(IBAction)BtnClick:(id)sender; //按钮触发事件
@end


源文件ViewController.m添加

- (IBAction)BtnClick:(id)sender
{
}


第七步:点开第五步所指的xib可视编程界面,进入后选中File's Owner,右击,操作如下

a.在右击的出现的菜单中看到头文件声明的calcResult,按下键盘的Option建,点击图上那个圆圈,鼠标同时左击按下拖动连接到界面的文本框

【IOS开发】IOS开发新手入门--简单计算器实现_第6张图片

b.按钮事件,也是左击出现如下菜单后,根据头文件里面的声明按钮事件方法BtnClick,按a步骤里面方法拖动到按钮上,然后选中按钮出现的选项(Touch up Inside)--代表按钮按下,这样就会当按钮按下时,触发按钮事件BtnClick.


【IOS开发】IOS开发新手入门--简单计算器实现_第7张图片

第八步:编写代码如下

//
//  ViewController.m
//  Calculator
//
//  Created by wyz on 13-10-17.
//  Copyright (c) 2013年 wyz. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end



@implementation ViewController


- (IBAction)BtnClick:(id)sender
{
    NSString* strInput = [sender currentTitle];

    NSLog(@"NowOpt=(%@)",strInput);
    if([strInput isEqualToString:@"="])
    {
        NSLog(@"wyz====xxx");
         NSLog(@"wyz===end=(%@)===num1=%@,num2=%@",sOpt,sNum1,sNum2);
        if([sOpt isEqualToString:@"+"])
        {
            iSum = [sNum2 integerValue] + [sNum1 integerValue];
        }
        else if ([sOpt isEqualToString:@"-"])
        {
            iSum = [sNum2 integerValue] - [sNum1 integerValue];
        }
        else if ([sOpt isEqualToString:@"*"])
        {
            iSum = [sNum2 integerValue] * [sNum1 integerValue];
        }
        else if ([sOpt isEqualToString:@"/"])
        {
            iSum = [sNum2 integerValue] /[sNum1 integerValue];
        }
        
        [sNum1 setString:@""];
        
        sNum2 = [NSMutableString stringWithFormat:@"%d",iSum];
        NSLog(@"wyz========result=%@",sNum2);
        _calcResult.text = sNum2;
        [sNum2 retain];
       // NSLog(@"wyz========result2=%@");
        return;
        
    }
    
    if([strInput isEqualToString:@"CE"])
    {
        _calcResult.text = nil;
        iSum = 0;
        [sNum1 setString:@""];
        [sNum2 setString:@""];
       
        return;
    }
    
    if([strInput isEqualToString:@"Back"])
    {
        if([sNum1 isEqualToString:@""])
        {
            return;
        }
        
         [sNum1 deleteCharactersInRange:NSMakeRange([sNum1 length]-1, 1)];
        if([sNum1 length] == 0)
        {
            
            _calcResult.text = @"0";
            return;
        }
        
       
        _calcResult.text = sNum1;
        return;
    }

    if([strInput isEqualToString:@"/"] || [strInput isEqualToString:@"*"] || [strInput isEqualToString:@"-"] || [strInput isEqualToString:@"+"])
    {
        NSLog(@"wyz====1");
        
        sOpt = strInput;
        NSLog(@"wyz====12(%@)",sOpt);
        if([self->sNum1 length] !=0)
        {
            NSLog(@"wyz====13");
            [sNum2 setString:sNum1];  //内容赋值
            //self.sNum2 = self.sNum1;  //指针赋值
        }
         NSString *ss = sNum2;
        NSLog(@"wyz====14=%@",sNum2);
       
        _calcResult.text = ss;
          NSLog(@"wyz====15");
        [sNum1 setString:@""];
          NSLog(@"wyz====16");
        NSLog(@"wyz===opt(%@)===num1=%@,num2=%@",sOpt,sNum1,sNum2);
       
        return;

    }
    if([strInput isEqualToString:@"1"] || [strInput isEqualToString:@"2"] || [strInput isEqualToString:@"3"] || [strInput isEqualToString:@"4"] || [strInput isEqualToString:@"5"]||[strInput isEqualToString:@"6"] || [strInput isEqualToString:@"7"]||[strInput isEqualToString:@"8"] || [strInput isEqualToString:@"9"]||[strInput isEqualToString:@"0"])
    {
        [sNum1 appendString:strInput];
        _calcResult.text=[NSString stringWithString:sNum1];
        NSLog(@"%@",sNum1);
    }
    
   // _calcResult.text=strInput;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    self->sNum1=[[NSMutableString alloc]init];//初始化可变字符串,分配内存
    self->sNum2=[[NSMutableString alloc]init];//初始化可变字符串,分配内存
    self->sOpt=[[NSString alloc]init];//初始化可变字符串,分配内存
    
    //添加提示性文字
    UIAlertView *alex=[[UIAlertView alloc]initWithTitle:@"使用说明" message:@"该计算器支持连算,但是不支持浮点运算!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alex show];
    [alex release];
    
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

最后一步:编译运行,ok完整的一个简单计算器支持连算功能完成

最后界面如下:


你可能感兴趣的:(【IOS开发】IOS开发新手入门--简单计算器实现)