第一个iOS程序简单计算器设计-用到View,get点语法

来源:互联网 发布:删除映射网络驱动器 编辑:程序博客网 时间:2024/05/13 01:52

//UIViewUIViewController

//UIView

//在屏幕上,能够看得见的东西都是UIView,比如按钮、图片、文本等,所有控件都是继承自UIView

//每个UIView都可以比作一个容器,可以容纳这个界面的所有UIView

//

//UIViewController是控制UIView

//一般情况下,每一个"满屏"UIView都交给对应的UIViewController去管理。

//每个APP中得界面切换到下一个新的界面,都是一个新的UIView,他们的尺寸接近屏幕的大小

//UIViewController内部有个UIView属性,就是它赋值管理UIView对象

// UIView   *_view

//

//UIViewController的作用是负责创建和销毁自己的UIView,显示和隐藏UIView、处理UIView和用户之间的交互(事件处理),所以UIViewController就是UIView的大管家

//所以所有APP的界面中显示过程应该是:先创建一个UIViewController,在右UIViewController创建自己的UIView,最后把UIView显示在用户的眼前,并由UIViewController处理UIView的事件,比如点击事件


//方法有连线的权利需要用:(IBAction) 能否让方法显示到storyboard文件的右击列表

//属性(实例变量)有连线的权利需要用:(IBOutlet)能够让属性显示到storyboard文件的右击列表



@interface ViewController :UIViewController  (这里的意思继承,创建的ViewController继承的时UIViewController)


//num1 为什么是 UITextField,而不是int类型呢,是怎么来得呢?点击控件查出来的,

// UI控件属性 苹果官方建议用weak,

//方法有连线的权利是有IBAction,属性不能用这个,必须用这个IBOutlet

@property (nonatomic,weak)IBOutletUITextField *num1;


@property (nonatomic,weak)IBOutletUITextField *num2;


@property (nonatomic,weak)IBOutletUILabel *sum;



// 一个监听事件的方法 IBAction ==void,但是方法中,只有IBAction具有连线的权利,void不能,所以这里要用IBAction

- (IBAction)btnClick;




//监听方法的实现

- (IBAction)btnClick{

    //NSLog(@"已经被打印了!");

    //因为是输出在屏幕上的数据,所以用get方法[self num1],用self调用,也可以用点语法self.num1

    //UITextField *textfield = [self num1];

    //因为num1 UITextField类型的数据,所以是创建一个UITextField类型的新对象,

    //UITextField *textfield = self.num1; // 这代码只是单纯的控件,还不能获取文本

    //textfield.text;// 这句代码就能够获取控件里面的文本(),text怎么来得呢?查看这个UITextField.h文件里面

    //上面的两句可以合为一句

    //self.num1.text;

    //self.num2.text; // 同理num2


    //又因为通过查询UITextField.h,得出text是字符串所以要打印上面的两个数据必须创建字符串对象

   NSString *text1 = self.num1.text;

   NSString *text2 = self.num2.text;// 同理num2


    //字符串是不能相加的,所以要把字符串的值转为基本数据类型

   int a = [text1 intValue];

   int b = [text2 intValue];

    //因为是字符串,不能直接把基本数据类型相加不能a+b

   self.sum.text= [NSStringstringWithFormat:@"%d",a +b ];

    //NSLog(@"%d",a + b);


}




1 0