您的位置:首页 > 其它

iPhone 软件开发 之 软件启动流程

2009-02-24 17:07 260 查看
iPhone的开发现在大家还是在摸索的阶段,当然不排除有人已经进阶。

现在就简单得介绍一下默认创建的工程的分析。

开发环境:Mac OS X10.5, XCode

实例代码:默认项目

创建默认项目后,就可以进行 build,然后就可以在模拟器上运行,那么,这个最基本的程序的启动与执行流程

是什么样子的呢,那么现在来分析一下

1、程序入口点

创建的项目中,在XCode 的 Other Classes中,有一个 main.m的文件,入口点就在这里,

方法: int main(int argc, char * argv[]) 就是整个程序的入口,和 C语言一样

2、主程序设置

main方法中有一个 UIApplicationMain(xx, xx, xx, xx,); 这个方法调用,关键就在这里,其中最后一个

参数的意义就是 DelegateClass,这个就是指定的代理类的名称,代理的意思就是,执行这个方法后,

系统会装载指定的类,并且执行相应的方法,进入循环中。

3、代理类 Delegate

代理类 基本上名称是 XXXAppDelegate,其中需要定义

- (void)applicationDidFinishLaunching:(UIApplication *)application 方法,该方法的含义是,当系统装载完成

程序时,执行该方法操作

4、applicationDidFinishLaunching 装载 显示界面

创建 Window, 装载 MyView,创建并显示

5、MyView 自定义 View,如果使用 Interface Builder 进行设计的话该默认文件几乎无用,以下介绍自定义View

-(void)init 方法,重载该方法,可以进行各种属性设置

-(void)drawRect:(CGRect)rect 方法,这个类似于 J2ME 中 Canvas的 paint方法,在该方法内部可以进行绘制操作

6、完毕,以下为 MyView.m 代码,仅供参考

//
// MyView.m
// Cat
//
// Created by 张 霄鹤 on 09-2-2.
// Copyright FiveRats 2009. All rights reserved.
//

#import "MyView.h"

@implementation MyView

- (void) init{
str="Hello World";
self.backgroundColor = [UIColor grayColor]; // 通过 UIColor提供的方法,可以直接获取颜色

// self.backgroundColor 属性 进行背景色设置

// **** backgroundColor 属性不能再 drawRect中设置
}
- (void)drawRect:(CGRect)rect{
CGContextRef cg = UIGraphicsGetCurrentContext();
UIFont * font = [UIFont systemFontOfSize:18.0];

// CGContextSetRGBFillColor(cg, 1.0, 1.0, 0.7, 1.0);
// CGContextFillRect(cg,rect);
CGContextSelectFont(cg, [[font fontName] cStringUsingEncoding:NSASCIIStringEncoding], 18.0, kCGEncodingMacRoman);
CGContextShowText(cg,str,strlen(str));
}
@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: