//UIView和UIViewController
//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)IBOutlet UITextField *num1;
@property (nonatomic,weak)IBOutlet UITextField *num2;
@property (nonatomic,weak)IBOutlet UILabel *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= [NSString stringWithFormat:@"%d",a +b ];
//NSLog(@"%d",a + b);
}