通用的是用代理的方式实现页面传值,但是有时候利用其它方式也可以很巧妙的解决问题,页面传值一共有4种方式:

1、使用全局变量, SharedApplication,定义一个变量来传递.

2、使用文件,或者NSUserdefault来传递

3、通过一个单例的class来传递

4、通过Delegate来传递。

 

一:定义

AppDelegate.h

@property (nonatomic, retain) DetailViewController *detailViewController;
@property (nonatomic, retain) NSString *text;

 

二:实现

AppDelegate.m

@synthesize detailViewController = _detailViewController;
@synthesize text;

如果有定义对象, 别忘了实例化

 

self.detailViewController = [[[DetailViewControlleralloc]init]autorelease];

 

三: 调用

保存

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.text = textField.text;

 

使用

AppDelegate *app = [UIApplication sharedApplication].delegate;
NSLog(@"%@", app.detailViewController.text);

 

在别的页面中,可以直接使用引用和基本数据类型;

 

 

 

相关文章:

  • 2021-09-14
  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-07
  • 2022-12-23
  • 2021-12-14
  • 2021-12-16
  • 2021-11-17
相关资源
相似解决方案