在视图控制器之间传递数据(是的,我知道......)

dal*_*ijn 0 objective-c ios

是的,我知道这个问题在这里非常受欢迎,并且已经为这个问题提供了很多答案,是的,我在这里在视图控制器之间传递数据.但是我很长时间都做不到.

在ViewControllerB.h中我为BOOL创建了一个属性

@property(nonatomic) BOOL *someBool;
Run Code Online (Sandbox Code Playgroud)

ViewControllerA.m:

#import "ViewControllerB.h"

ViewControllerB *viewControllerB = [[ViewControllerB alloc] init];
viewControllerB.someBool = YES;
[self.navigationController pushViewController:viewControllerB  animated:YES];
Run Code Online (Sandbox Code Playgroud)

在ViewControllerB.m中ViewDidLoad:

NSLog(@"%@", self.someBool);
Run Code Online (Sandbox Code Playgroud)

但xCode在这一行给我错误(NSLog(@"%@",self.someBool);)并说:Thread 1:EXC_BAD_ACCESS (code =2).我究竟做错了什么?

rma*_*ddy 5

你的属性是一个指针.它不应该.改变这个:

@property(nonatomic) BOOL *someBool;
Run Code Online (Sandbox Code Playgroud)

至:

@property(nonatomic) BOOL someBool;
Run Code Online (Sandbox Code Playgroud)

日志应该是:

NSLog(@"%d", self.someBool);
Run Code Online (Sandbox Code Playgroud)

仅用于%@对象.