1.初始化传值
重写initWith。。。的时候传入参数
ZQMainVC *mainVC=[[ZQMainVC alloc]initWithUserName:_userNameText.text WithPassWord:_passWordText.text];
//单例写法
2.代理传值
在代理方法中把值作为参数传入
@protocol ViewControllerDelegate <NSObject>
-(void)ViewControllerSendMessage:(NSString *)userName withPassword:(NSString *)password;
@end
3.单例传值
创建了一个单例对象后,给这个单例对象的属性赋值,这样以后这个利用单例对象的属性值给其他值赋值了。
@interface ZQShareManager : NSObject
@property (copy, nonatomic) NSString *userName;
@property (copy, nonatomic) NSString *password;
// 申明一个类方法
+ (ZQShareManager *)shareUserInfo;
@end
@implementation ZQShareManager
+ (ZQShareManager *)shareUserInfo{
static ZQShareManager *shareManager = nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
shareManager = [[self alloc] init];
});
return shareManager;
}
@end
4.通知传值
利用通知传值,加入到userInfo中,非常常用
5.block传值
声明并定义一个block,在适当的时候执行这个block
6.NSUserDefaults传值
用NSUserDefaulets保存并且求取,在项目的任何地方都可以用