iOS大典之单例传值
来源:互联网 发布:明星直播用什么软件 编辑:程序博客网 时间:2024/05/17 04:18
传值过程中, 会遇到一个变量可能被多个类使用, 的情况
最简单的办法是, 将变量定义在单例类中, 操作时直接使用
这里简单的介绍如何使用单例.
步骤就是:
1. 定义单例类
2 . 类方法创建单例对象
3 . 根据需要实现单例
注意: 单例只初始化一次; 不用管理内存; 方法命名规范是以share开头; 单例继承于NSObject
简单的例子:
从root控制器 传值到 second控制器,
需要创建两个控制器, 和一个单例类
声明和实现单例类
#import <Foundation/Foundation.h>@interface MyHandle : NSObject// 1. 声明下+ (MyHandle *)shareHandle;// 2. 声明一个属性 用于传值@property (nonatomic, retain) NSString *name;@end
+ (MyHandle *)shareHandle{ // 在静态区定义个指针 static MyHandle *handle = nil; // 如果这个指针指向的区域为空 if (handle == nil) { // 就在 堆区开辟空间 创建对象 handle = [[MyHandle alloc] init]; } return handle;}
root控制器中设置需要的控件, 别忘记导入头文件
@property (nonatomic, retain) UITextField *textField;
- (void)dealloc{ [_textField release]; [super dealloc];}
添加一个输入框和按钮,
- (void)addSubView{ self.textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 160, 200, 60)]; self.textField.backgroundColor = [UIColor cyanColor]; [self.view addSubview:self.textField]; [self.textField release]; UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)]; button.frame = CGRectMake(100, 300, 100, 50); [button addTarget:self action:@selector(actionButton:) forControlEvents:(UIControlEventTouchUpInside)]; button.backgroundColor = [UIColor blackColor]; [self.view addSubview:button]; [button release];}
- (void)actionButton:(UIButton *)button{ // 点击跳转 传值 // 创建单例对象 并赋值 [MyHandle shareHandle].name = self.textField.text; // 跳转 SecondViewController *secondVC = [[SecondViewController alloc] init]; [self.navigationController pushViewController:secondVC animated:YES]; [secondVC release];}
需要传值的 second控制器中接受下, 在 viewDidLoad中
// 修改标题 self.navigationItem.title = [MyHandle shareHandle].name;
over
0 0
- iOS大典之单例传值
- iOS大典之UIView
- iOS大典之UIScrollView
- iOS大典之MPMoviePlayerController
- iOS大典之动态相册
- iOS大典之集合视图
- iOS大典之自定义cell
- iOS大典之Core Data
- iOS大典之点击旋转, 点击停止
- iOS大典之旋转停不下来
- iOS大典之表视图UITableView
- iOS大典之地图Map Kit
- iOS大典之地图Core Location
- Python学习之开篇大典
- 网络大典
- 开篇大典
- SQL大典
- 开张大典
- 最简单的Struts2项目实例
- HTML5 Local Storage 本地存储
- OCP-V13-015
- NOIP2010 饮水入城
- 字典的使用
- iOS大典之单例传值
- OCP-V13-016
- 模式总结(一)——创建型模式(Creational Pattern)
- SOAPUI 安装及破解
- Java线程同步小陷阱,你掉进去过吗?
- 软件测试基础要点总结
- OCP-V13-017
- TextView属性
- Action Bar