《30天精通iPhone手机编程》-Day2-hello world

本文深入探讨了iOS应用开发中AppDelegate类的作用及窗口管理机制,详细介绍了如何通过AppDelegate类实现窗口与视图控制器的关联,以及窗口生命周期事件的处理。重点阐述了UIKit框架在iOS开发中的核心地位及其在构建用户界面时提供的基本工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          原来在网上看过一个冷笑话:一个程序员退休之后决 定学习书法,买来上好的湖笔、宣纸、墨汁,饱蘸浓墨,在纸上一气呵成:hello, world。做程序员的人,学习编程语言都必须从最基础的代码编写学起。一般从窗口上用代码输出“hello,world”都是每个程序员第一次上机操作的必修课,学习iphone开发也不例外。

AppDelegate类文件是class类文件中的程序代理文件,负责程序的生命周期事件,例如程序内相关的控件、属性和运行的任务等。

//  Day02AppDelegate.h

//模板默认引用程序需要使用“类”的框架,即UIKit.h头文件,使它包含在程序中 #import <UIKit/UIKit.h> @class Day02ViewController; //@interface声明程序界面的名称为 Day02AppDelegate ,NSObject表示他的类符合UIApplicationDelegate协议 @interface Day02AppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; Day02ViewController *viewController; } //@property声明程序的属性,nonatomic是使用单线程机制减少资源使用,并将更改方法和修改方法生成在@property @property (nonatomic, retain) IBOutlet UIWindow *window; //retain是@property的可选项,表明向@property的对象发送一个retain(保留消息) @property (nonatomic, retain) IBOutlet Day02ViewController *viewController; @end
//  Day02AppDelegate.m
//#import告诉编译器去合成ViewControlle的存储器方法和遵从内存的规则
#import "Day02AppDelegate.h"
#import "Day02ViewController.h"
//程序的开始点
@implementation Day02AppDelegate
//告诉编译器去合成window的存储器方法,为程序自动生成window设置函数setters和获得函数getter
@synthesize window;
@synthesize viewController;

//编译指示标,标记应用程序的声明周期
#pragma mark -
#pragma mark Application lifecycle
//在应用程序开始后重新自定义用户化点
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    [window addSubview:viewController.view];
    //使被使用对象的主窗口显示到屏幕的最前端
    [window makeKeyAndVisible];
    return YES;
}

//停止应用程序
- (void)applicationWillResignActive:(UIApplication *)application {
    }

//恢复被停止的任务程序
- (void)applicationDidBecomeActive:(UIApplication *)application {
 
}

//释放共享的资源,存储用户的文件,无效的时间和放置足够的应用程序形态的信息
- (void)applicationDidEnterBackground:(UIApplication *)application {
}

//从后台调出作为过渡的一部分无效的形式,可以取消很多已经进入到后台的转换
- (void)applicationWillEnterForeground:(UIApplication *)application {
    }

//在程序形态改变后,待方法去结束它。当编写的程序支持后台多任务处理时,用户选择退出后台任务后,可以使用此方法去执行结束
- (void)applicationWillTerminate:(UIApplication *)application {
   }
#pragma mark -
#pragma mark Memory management
//尽量释放可用内存给程序,并即使发送警告提示
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
   }

- (void)dealloc {
    [viewController release];
    [window release];
    //执行内存的清理工作
    [super dealloc];
}
@end

UIKit是iOS(iPad/iPhone 运行的操作系统)上的AppKit的变种,用于为iOS应用程序提供界面对象和控制器。UIKit提供了在iOS上实现图形,事件驱动程序的基本工具。


iphone的主窗口的显示图标只能是57*57的像素,图标文件命名为icon.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值