1.Interface Builder、Xcode、模拟器都是单独的应用程序;
2.Interface Bulider的强大之处在于它不会产生任何需要维护的代码,它将创建Object-c对象,然后将这些对象序列化在nib文件中,以便在运行时将它们直接加载到内存;
3,应用程序图片是 .png文件,大小必须是57-57像素,iphone会自动圆角化边缘并让它具有玻璃质感,所以只需创建一个普通的方形图像;Xcode中的图片尽可能都要使用
这种格式,因为Xcode会在构建应用程序时自动优化.png图像,让他们成为iphone应用程序中最快速和最有效的图像类型。
应用程序图片添加的方法:
添加到Resources文件夹中;打开Info.list 文件,找到Icon file行,在该行的右边输入.png文件的名称即可;
4.Info.list文件中束表示符(bundle identifier)是应用程序唯一的标识符,并且始终需要配置,
仿真器上它的标准命名约定格式为:
顶级Internet域(com 或org)之后是点号,然后是公司或组织名称,接着是点号,最后是应用程序的名称;
5.清除模拟器早期的应用程序:
主目录的Library文件夹的Application Support文件夹中删除iPhone Simulator文件夹;
6.输出口的声明:
IBOutlet UIButton *myButton;
7.操作方法的声明:
-(IBAction)doSomething:(id)sender;
方法的返回类型是无返回类型的IBAction,方法名为doSomething,参数被定义为id,参数名称为sender;
8.声明控件.h文件:
IBOutlet UILabel *myLabel;
其对应的get/set 方法:
@property(retain,nonatomic) UILabel *myLabel;
retain---当定义的属性是一个对象时,为了保证属性底层的实例变量在使用的过程中不会从内存中清除;当定义的属性是int等原始数据类型时则不需要指定可选属性;
nonatomic----节省开销;
对应.m文件:
@systhesize myLabel;------通过编译器自动为我们创建访问方法和修改方法;
9.NSString *title=[sender titleForState:UIControlStateNormal];---------获取被按下控件的标题
NSString *newText=[[NSString alloc] initWithFormat:@"%@ button pressed",title];----------------定义文本推荐方法
NSString *newText=[NSString stringWithFormat:@"%@ button pressed",title];-------------------定义文本,此对象分配给了自动释放对象的内存,对象使用完后还会保留一段时间,对内存造成不利影响,尽量避免这种写法,虽然代码简单,但iphone 内存是有限的;
[myLabel setText:newText];---------------为myLabel赋值
[newText release];---------------释放字符串
[myLabel release];--------------释放输出口
9,UIApplication
主要作用:负责应用程序的运行循环以及处理各种应用程序级功能;
它主要在后台处理任务,因此一般不需要担心它,但是,在应用程序执行过程中明确指定了的时间,UIApplication 将调用特定的委托方法(如果有委托且实现了该方法),例如,如果需要在程序退出之前出发某段代码,可以在应用程序委托中实现applicationwillTerminate:方法,并将终止代码置于其中;这中委托可以让应用程序实现常用的应用程序级行为,而不需要继承UIApplication, 或了解它的任何内部机制。
10。以下两种写法是等效的:
IBOutlet UIWindow *window;
@property (nonatomic, retain) UIWindow *window;
与
@property(nonatomic,retain) IBOutlet UIWindow *window;
等价;