IOS-MVC范型和处理基本交互
4741 点击·0 回帖
![]() | ![]() | |
![]() | .MVC(模型-视图-控制器).Cocoa Touch设计者采用MVC范型作为指导原则,用于拆分GUI(图形化界面)应用程序代码的逻辑方法 2.Moudle模型:保存和处理应用程序数据的类(通常是设计一些ObjC类) View视图:窗口、控件等和用户交互的元素组成的部分 Controller控制器:将模型和视图绑定在一起,确定如何处理用户输入的应用程序逻辑(通常由开发人员创建的类和特定于应用程序的类组成) 3.outlet输出口:控制器中可以定义特殊变量来饮用nib中的变量,将此变量声明为输出口。 例如:定义一个nib已有Button的输出口: UIButton * button; 声明属性: @property(nonatomic,assign)IBOutlet UIButton* button IBOutlet 也可以写在定义处:IBOutlet UIButton * button;则声明属性时就可以不写了 4.操作:IBAction声明的,由控件触发 操作的声明: -(IBAction)doSomething:(id)sender; 返回值必须是IBAction,与void相同。 参数可以随意:通常参数为id类型的sender 表示触发该操作的控件自身,可以在操作内部引用 5.动态生成按钮并绑定事件 示例:写在ViewController.m文件中 double x = 10; double y = 20; double width = 100; double height = 30; UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMack(x,y,width,height); [self.view addSubview:btn] ; //self为controller;self .view为程序底层基本视图 //为按钮绑定点击事件 [btn addTarget:selfaction:@selector(ClickMe:)forControlEvents:UIControlEventTouchUpInSide];//ClickMe:为用户自定义点击按钮响应消息事件 //定义ClickMe点击事件:这里只做一个弹出窗口的效果 -(IBAction)ClickMe:(id)sender { UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@”Hello” message:@”您点击了我!” delegate:nilcancleButtonTitle:@”OK” otherButtonTitles:@”Cancle”,nil]; [alertshow]; [alertrelease]; //注意必须释放内存,防止内存泄漏 } | |
![]() | ![]() |