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
现在就简单得介绍一下默认创建的工程的分析。
开发环境: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
相关文章推荐
- iPhone开发进阶 app启动流程
- [设计理论] 开发iPhone软件界面流程
- iPhone开发进阶 app启动流程
- 国家标准的软件开发文档以及我对项目开发的流程的理解
- 软件开发过程学习笔记(一)之软件开发流程
- 软件开发流程
- 软件开发流程 面向对象和面向过程区别
- 软件开发流程
- 软件项目开发流程
- 软件项目开发流程以及人员职责
- 软件开发流程
- iphone iPhone拍照/摄像软件开发实例
- iOS开发 -- "AppDelegate.m"文件 程序启动流程
- 我心中的理想团队和对软件开发流程的理解
- 嵌入式软件开发流程
- (iPhone/iPad开发)怎样判断ios app 第一次启动
- 【推荐】软件开发,网站开发,IPhone, Azure开发工作室QQ:99639667【海彤工作室】
- 从软件开发的流程来认识六大设计原则
- 软件开发流程
- 软件生命周期即开发流程