编程语言基础:objective-c基础语法
编程工具:Xcode4.6
第一步:打开Xcode,选择下面的Create a new Xcode projectd
第二步:选中如图,点Next进入下一步
第三步:填写产品名称、公司标识,选iPhone
第四步:选择项目放的位置,自己随便选个文件,create进入下一步
第五步:进入编程界面,开始界面布局,拖放相关按钮(也可按住option键点击已有按钮复制)和一个文本框
第六步:在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
- (IBAction)BtnClick:(id)sender { }
a.在右击的出现的菜单中看到头文件声明的calcResult,按下键盘的Option建,点击图上那个圆圈,鼠标同时左击按下拖动连接到界面的文本框
b.按钮事件,也是左击出现如下菜单后,根据头文件里面的声明按钮事件方法BtnClick,按a步骤里面方法拖动到按钮上,然后选中按钮出现的选项(Touch up Inside)--代表按钮按下,这样就会当按钮按下时,触发按钮事件BtnClick.
第八步:编写代码如下
// // 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
最后界面如下: