IPhone学习笔记二-----处理基本交互

前面学习了一个简单Hello World!如何去创建一个简单的项目和熟悉Interface Builder。

这章添加一些简单控件,和一些相关联事件。

Cocoa Touch 采用MVC(Model-View-Control)就是模型-视图-控制器。

模型-保存应用程序数据的类。 视图-窗口,控件和其他用户可以看到并能与之交互的元素。 控制器-将模型和视图绑定在一起,确定用户输入的应用程序逻辑。

控制器类可以使用一种特殊的实例变量来引用nib文件中的对象,这个变量就是输出口(outlet)。同时也可以设置nib文件中的界面对象触发控制器类中的特殊方法,这些特殊方法称为操作方法。输出口使用关键字是IBOutlet。操作使用的关键字是IBAction。

 新建一个Button Fun项目

在头文件中添加相应的代码如下

@interface Button_FunViewController :UIViewController

{

    UILabel *statusText;

}

@property(nonatomic,retain)IBOutletUILabel *statusText;//nonatomic来节省开销在编写IOS应用程序时常用该属性。retain通知编译器向分配给此属性的对象发送一个保留信息。确保属性底层的实例变量在使用过程中不会从内存中清除。垃圾收集时IOS当前尚未具备的Object-c2.0特性。

-(IBAction)buttonPressed:(id)sender;//buttonPressed方法名

@end

实例文件中代码如下

@synthesize statusText;

-(IBAction)buttonPressed :(id)sender

{

   NSString *title=[sendertitleForState:UIControlStateNormal];//请求按钮的标题控件时,需要提供控件状态。4种正常(Normal),表示控件处于活动状态,但当前尚未使用,突出显示(highlighted)表示控件正被按住或正被使用,禁用(disabled)表示控件未启用且无法使用,已选中(selected)仅特定控件具有该状态,表示控件当前已被选中。

    NSString *newText =[[NSString alloc] initWithFormat:@"%@ button pressed.",title];

   //NSString *newText=[NSString stringWithFormat:@"%@ button pressed.",title];这句和上面这句的作用一样,因为这种方式使用了自动释放池,分配给自动释放的内存,在对象使用完后之后还会保留一段时间。

    statusText.text=newText;

    [newText release];//释放字符串      

}


然后创建桌面视图如下

IPhone学习笔记二-----处理基本交互_第1张图片

接下来就是连接所有元素

连接输出口 按下Control键,单击File's Owner图标并按住鼠标按钮拖向View窗口直到拖到标签上。会弹出一个菜单,选中StatusText。

指定操作在Mac上我们也是用Control拖动完成操作。但是在IPhone上主要还是主要使用连接器如下:

使用前                                                             使用后

IPhone学习笔记二-----处理基本交互_第2张图片                    IPhone学习笔记二-----处理基本交互_第3张图片

单击右边小圆圈拖动到File‘s Owner 会出现button pressed方法。选中后如有图所示。

然后运行。我们就完成了这个简单的连接。



你可能感兴趣的:(cocoa,File,iPhone,button,interface,编译器)