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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值