iOS 4种传值总结
来源:互联网 发布:s7-300plc编程实例 编辑:程序博客网 时间:2024/04/29 18:52
场景:
A界面 创建 B界面
A-Value 》》》》》B-Value利用属性传值:在B类中创建属性@property (copy , nonatomic)NSString *str;
然后在A中给B的对象的str赋值:
BViewController *bvc = [[BViewController alloc] init];
bvc.userName = ws.usernameTextField.text; /****正向传值****/
场景:
A界面 创建 B界面
A-Value 《《《《《《B-Value
实例:配置界面中字体大小传回到A界面
block:
1).BviewController.h里定义block属性
@property (nonatomic , copy) void (^blockName)(参数类型 *参数名);
2).BviewController.m里给block提供值
self.blockName(参数);
3).在AviewController.m里,创建B的对象,
BviewController *bvc = [[BviewController alloc] init];
bvc.blockName = ^void(参数){
需要被赋值的属性 = 参数;
};
场景:
一个数据需要被多个界面访问,把这个数据存储到单例中
注意:可以吧用户信息存入到单例中
好处:任意界面中存储,任何界面获取
1).创建一个单例类
UserInfo.h中添加若干属性
@property (nonatomic , copy) NSString *username;
@property (nonatomic , copy )NSString *password;
@property (nonatomic ) BOOL isLogin;
@property (nonatomic , copy) NSString *money;
2).再创建一个类UserManager,获取单例类的对象
UserManager.h
#import <Foundation/Foundation.h>
#import "UserInfo.h"
@interface UserManager : NSObject
//获取这个类的单例对象
//注意:这个方法获取的对象是唯一的,每次获取同一个对象
+ (instancetype)manager;
@property (strong , nonatomic) UserInfo *userInfo;
@end
在任意一个界面中
UserManager *manager = [UserManager manager];
manager.userInfo.isLogin = YES;
manager.userInfo.username = self.usernameTextField.text;
(如果在block中,需要在block外:
__weak typeof(self) ws = self; )
manager.userInfo.password = self.passwordTextField.text;
在另一个任意界面中,获取这个单例类对象
self.title =[NSString stringWithFormat:@"%@",[UserManager manager].userInfo.username];
4.通知传值
场景:一个界面发出消息,其他多个界面同时相应
实例:配偶之界面切换主题,其他多有界面切换主题
注意:与其他传值不同,一处发出通知,其他多出同时响应。
(只能给已创建的View传值)
- iOS 4种传值总结
- app开发总结 4 - ios总结
- iOS进阶4 -- 动画总结
- iOS蓝牙开发总结-4
- ios总结
- iOS 总结
- IOS 总结
- IOS总结
- iOS总结
- IOS 总结
- IOS总结
- iOS总结
- ios总结
- ios 总结
- 【ios】IOS集合总结
- iOS开发种传值方式的总结
- ios IOS学习之基础UI界面总结4
- 传智播客IOS 4期学习总结
- EAS表字段简体转繁体。
- Exception:org.eclipse.epp.internal.logging.aeri.ui.log.StandInStacktraceProvider$StandInException
- JAVA中三种URL连接方法
- JAVA WEB filter
- hdu 1198 Farm Irrigation(并查集)
- iOS 4种传值总结
- Magic Spheres
- Android 自定义EditText 实现获得焦点并且有内容显示右侧图片并点击清空内容
- 实现放大镜效果
- Oracle中的触发器
- BZOJ 1600: [Usaco2008 Oct]建造栅栏|动态规划
- eclipse下用使用opencv用C++做图像处理
- error C4996: 'fopen': This function or variable may be unsafe.
- bootstrap排版