我遇到BOOL
的问题,当我尝试更改另一个视图BOOL
的值但它无效时。
BOOL
的声明:
@property (nonatomic, assign) BOOL vuesortie;
在vuesortie
中分配view
:
premierview *vcc = [self.storyboard instantiateViewControllerWithIdentifier:@"jeux"];
SWRevealViewController *revealController = self.revealViewController;
premierview *view;// I'm really sorry not to be a robot and do shit
if ([cellchoistxt isEqual: @"Déjà sortie"])
{
[view setVuesortie:YES];
[revealController pushFrontViewController:vcc animated:YES];
} else if ([cellchoistxt isEqual: @"Prochaines sorties"]) {
NSLog(@"////////////////////////////////////////////////");
[view setVuesortie:NO];
[revealController pushFrontViewController:vcc animated:YES];
}
在pushFrontViewController
之后加载视图时的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%hhd" , vuesortie); //--> value = 0 in all cases
....
}
答案 0 :(得分:1)
premierview *view;
未初始化。
您必须在之前初始化您的观点(并请使用其他类名称,例如“ PremierView ”):
在任何情况下,对于premier view
,你的意思是你应该做的viewController vcc
:
[vcc setVuesortie:YES];
显然,类premierview
包含属性:
@property (nonatomic, assign) BOOL vuesortie;
您必须学习 OOP 的概念,因为您必须明白,如果您想要指向实例viewController
的属性,则必须在vcc
中设置值对象
最后请使用正确的表示法,例如:
`PremierViewController` and not `premier view`
有两个原因:
不是UIView
,而是UIViewController
,所以正确使用ViewController
而不是View
来维持结束;
使用骆驼符号,因此请将每个单词的第一个字母大写。
答案 1 :(得分:0)
看起来你永远不会为view变量赋值。当您调用[view setVueSortie]时,视图对象为nil。