标签:
跳转注意事项
app1跳转到app2启动的时候
app2程序已经启动完成,跳转的时候不会执行vc声明周期中的viewDidLoad和viewWillAppear,所以传值的时候用给控件已经存在可以直接赋值
ios生命周期
ViewContoller
1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图 4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件 5、viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了 6、viewDidAppear 视图已在屏幕上渲染完成 当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反 1、viewWillDisappear 视图将被从屏幕上移除之前执行 2、viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了 3、dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
View
- (void)didAddSubview:(UIView *)subview; - (void)willRemoveSubview:(UIView *)subview; - (void)willMoveToSuperview:(UIView *)newSuperview; - (void)didMoveToSuperview; - (void)willMoveToWindow:(UIWindow *)newWindow; - (void)didMoveToWindow;
app
1、application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次。若用户直接启动,lauchOptions内无数据,若通过其他方式启动应用,lauchOptions包含对应方式的内容。 2、applicationWillResignActive:在应用程序将要由活动状态切换到非活动状态时候,要执行的委托调用,如 按下 home 按钮,返回主屏幕,或全屏之间切换应用程序等。 3、applicationDidEnterBackground:在应用程序已进入后台程序时,要执行的委托调用。 4、applicationWillEnterForeground:在应用程序将要进入前台时(被激活),要执行的委托调用,刚好与applicationWillResignActive 方法相对应。 5、applicationDidBecomeActive:在应用程序已被激活后,要执行的委托调用,刚好与applicationDidEnterBackground 方法相对应。 6、applicationWillTerminate:在应用程序要完全推出的时候,要执行的委托调用,这个需要要设置UIApplicationExitsOnSuspend的键值。
初次启动: 2013-05-24 20:20:31.550 LifeIOS[451:c07] iOS_didFinishLaunchingWithOptions 2013-05-24 20:20:31.551 LifeIOS[451:c07] iOS_applicationDidBecomeActive 按下home键: 2013-05-24 20:22:17.349 LifeIOS[451:c07] iOS_applicationWillResignActive 2013-05-24 20:22:17.350 LifeIOS[451:c07] iOS_applicationDidEnterBackground 点击程序图标进入: 2013-05-24 20:22:56.913 LifeIOS[451:c07] iOS_applicationWillEnterForeground 2013-05-24 20:22:56.914 LifeIOS[451:c07] iOS_applicationDidBecomeActive 程序中没有设置UIApplicationExitsOnSuspend的值,程序不会彻底退出。
跳转代码片段
app1;
/* //这里的http://部分叫做URL方案(URL scheme),它表示想要载入的应用程序,后面是传入的字符串 //1.网址 NSURL *url1 = [NSURL URLWithString:@"http://baidu.com"]; [[UIApplication sharedApplication]openURL:url1]; //2,邮件 NSURL *url2 = [NSURL URLWithString:@"mailto:steve@apple.com subject= test"]; [[UIApplication sharedApplication] openURL:url2]; //3.短信 NSURL *url3= [NSURL URLWithString: @"sms:555-1234"]; [[UIApplication sharedApplication] openURL:url3]; //4.电话 NSURL *url4=[NSURL URLWithString:@"tel://555-1234"]; [[UIApplication sharedApplication]openURL:url4]; //5.地图 NSURL *url5 = [NSURL URLWithString:@"http://maps.google.com/maps?q=pizza"]; [[UIApplication sharedApplication]openURL:url5];
- (IBAction)button:(id)sender { //6,自定义app NSURL *url= [NSURL URLWithString: @"second://abcd"]; [[UIApplication sharedApplication] openURL:url]; }
app2
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { //返回YES,支持,返回NO不支持 //self.viewController.label.text = [[url host] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //self.vc.lableLab = [url host]; //self.vc.lable.text = [[url host] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; self.vc.lable.text = @"sdfsdfa"; NSLog(@"%@",self.vc.lable.text); return YES; }
标签:
原文地址:http://www.cnblogs.com/coderMJL/p/4900522.html