第1、2章总结
1、比较旧的Iphone只有一个程序在运行
2、IOS开发的框架Cocoa Touch 与 MAC上的开发Cocoa框架稍有不同(IOS框架没有Core Data或Cocoa Binding)
3、受限访问 只能在iphone为程序创建的文件系统(沙盒)中读写文件,程序在其中存储文档、首选项等
4、有限的响应时间 在按下Home键后,5秒后会结束程序进程,所以要在5秒内保存用户数据
5、新属性 获得用户坐标

我们的程序包含两个按钮和一个用于反映按钮状态的文本标签。我们将在Interface Builder中创建这三个元素。
既然我们将编写代码,那么代码必须要通过某种方式与IB中创建的元素进行交互
控制器类可以使用一种特殊的实例变量来引用nib中的对象,这个变量就是输出口(outlet),可以把输出口看成是指向nib中的指针。
举例来说,假如你中IB中创建了一个文本标签,并且希望在代码中修改该标签的文本,通过声明一个输出口,并将其指向此标签对象,
你可以在代码中使用该输出口来修改标签。另一方面,也可以设置nib文件中的界面对象触发控制器中的特殊方法,这些特殊方法称为
操作方法,举例来说,你可以告诉IB,当用户放开某个按钮时,调用代码中的特定方法。
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
IBOutlet UILabel *statusText;
}
@property (retain,nonatomic) UILabel *statusText;
-(IBAction)buttonPressed:(id)sender;
@endretain通知编译器向分配给此属性的对象发送一个保留(retain)信息。这将确保属性低层的实例变量在使用过程中不会从内存中清除
nonatomic将更改访问方法和修改方法的生成方式。简单来说,在默认情况下,这些方法在创建时会具备另外一些代码,用于帮助你编写多线程程序。
@implementation ViewController
@synthesize statusText;
-(IBAction)buttonPressed:(id)sender
{
NSString *title = [sender titleForState:UIControlStateNormal];
NSString *newText = [[NSString alloc] initWithFormat:@"%@ button pressed.",title];
statusText.text = newText;
[newText release];
}- (void)dealloc {
[statusText release];
[super dealloc];
}
本文介绍了iOS开发的基本概念,包括应用程序的运行机制、文件系统的限制、响应时间的要求及用户坐标获取等内容。此外,还详细讲解了如何在Interface Builder中创建用户界面元素,并通过实例演示了如何使用IBOutlet和IBAction来实现视图控制器与界面元素之间的交互。
1756

被折叠的 条评论
为什么被折叠?



