iOS UI界面之间传值方式的整理总结(2)单例方法
2016-01-19 15:51
337 查看
单例
实现a b 两个界面之间的传值 首先创建一个单例 即单独的 .h 和 .m文件
.h文件中
//声明一个属性,用于存储输入的文字
@property (nonatomic,copy)
NSString *showText;
//创建单例的方法
+(SingleTon *)shareSingleTon;
.m文件中
单例的两种创建方式
//创建单例的方式
/*
+(SingleTon *)shareSingleTon
{
static SingleTon *single = nil;
@synchronized(self)//保证线程安全
{
if (single == nil) {
single = [[[SingleTon class] alloc]init];
}
}
return single;
}
*/
/*另一种单例的实现方式,也是保证线程安全的*/
+(SingleTon *)shareSingleTon
{
static SingleTon *single =
nil;
static
dispatch_once_t tonken;
//保证block中得代码,只被执行一次
dispatch_once(&tonken, ^{
single = [[SingleTon
alloc]init];
});
return single;
}
实现 a b 界面之间的传值 只需要 引入头文件 收线在第二个界面 即输入值得界面调取单例 给单例的属性赋值 ,然后退出界面 然后在 第一个界面将要出现的时候 调用单例 实现赋值 从而完成 反向传值
第一次单例的调用 :
SingleTon *single = [SingleTon
shareSingleTon];
single.showText =
_textFiled.text;
传值结束 在第二个界面将要出现时 调用单例:
-(void)viewWillAppear:(BOOL)animated
{
[super
viewWillAppear:animated];
UILabel *label = (id)[self.view
viewWithTag:10];
//获取单例对象
SingleTon *single = [SingleTon
shareSingleTon];
label.text = single.showText;
}
从而实现简单的单例传值
实现a b 两个界面之间的传值 首先创建一个单例 即单独的 .h 和 .m文件
.h文件中
//声明一个属性,用于存储输入的文字
@property (nonatomic,copy)
NSString *showText;
//创建单例的方法
+(SingleTon *)shareSingleTon;
.m文件中
单例的两种创建方式
//创建单例的方式
/*
+(SingleTon *)shareSingleTon
{
static SingleTon *single = nil;
@synchronized(self)//保证线程安全
{
if (single == nil) {
single = [[[SingleTon class] alloc]init];
}
}
return single;
}
*/
/*另一种单例的实现方式,也是保证线程安全的*/
+(SingleTon *)shareSingleTon
{
static SingleTon *single =
nil;
static
dispatch_once_t tonken;
//保证block中得代码,只被执行一次
dispatch_once(&tonken, ^{
single = [[SingleTon
alloc]init];
});
return single;
}
实现 a b 界面之间的传值 只需要 引入头文件 收线在第二个界面 即输入值得界面调取单例 给单例的属性赋值 ,然后退出界面 然后在 第一个界面将要出现的时候 调用单例 实现赋值 从而完成 反向传值
第一次单例的调用 :
SingleTon *single = [SingleTon
shareSingleTon];
single.showText =
_textFiled.text;
传值结束 在第二个界面将要出现时 调用单例:
-(void)viewWillAppear:(BOOL)animated
{
[super
viewWillAppear:animated];
UILabel *label = (id)[self.view
viewWithTag:10];
//获取单例对象
SingleTon *single = [SingleTon
shareSingleTon];
label.text = single.showText;
}
从而实现简单的单例传值
相关文章推荐
- ios UI控件关联
- <iOS Human Interface Guidelines>(iOS人机交互手册)读书笔记
- UEdit初始化加载内容偶尔失败,解决
- 解决Incorrect integer value: '' for column 'id' at row 1的方法
- Maven使用yuicompressor-maven-plugin打包压缩css、js文件
- iOS 平台UI设计小结
- UIImagePickerController显示中文界面
- UIImagePickerController显示中文界面
- 解决UITableView数据没有充满屏幕时,显示多余的空白cell的问题
- UITableView的分割线不满屏的解决方法
- Codeforces Round #313 (Div. 2) D.Equivalent Strings (字符串)
- Fuel UX wizard example
- 特殊权限SUID以及ACL
- iOS UI界面之间传值方式的整理总结(3)通知传值NSNotification
- Java String、StringBuilder 、StringBuffer用法
- 随笔ibatis的queryForMap
- iOS UI界面之间传值方式的整理总结(1)协议方法
- serialVersionUID作用
- UICollectionViewCell--查找cell上的按钮点击后,对应的是哪个cell
- IOS UIAlertView和UIAlertController学习记录