我想在我的Popover类中隐藏我的按钮,只要我的另一个类中的bool值为false,但问题是我没有得到“TRUE”值。检查Bool值是否改变
我的头等舱
-(void) hideButton{
finished = _secondVC.finished;
BOOL isRunning = !finished;
if(isRunning){
_deleteButton.hidden = YES;
}else if(finished){
_deleteButton.hidden = NO;
}
}
我打电话hideButton的方法在我的viewWillAppear中的功能。
我的第二类
-(void) someAction{
if(something){
self.finished = YES;
}
编辑:
现在,如果我加载酥料饼和NSNotification被炒鱿鱼的按钮被启用,但问题是,如果我关闭和打开酥料饼,我的删除按钮仍然被禁用。
我酥料饼类
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if(syncFinished){
_deleteButton.enabled = YES;
}else if(!syncFinished){
_deleteButton.enabled = NO;
}
}
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(showButton)
name:@"syncFinish"
object:nil];
}
- (void) showButton{
syncFinished = YES;
_deleteButton.enabled = YES;
}
我的第二类
-(void) someAction{
if(something){
[[NSNotificationCenter defaultCenter] postNotificationName:@"syncFinish"
object:self];
}
你的问题还不清楚。你在哪里观察'BOOL'值?这两个类的两个方法是如何连接的? – rmaddy
你需要比“不要得到真正的价值”更清楚。我猜你可能会在英文标题中使用“观察”一词,而读者则认为这是“关键价值观察”(KVO)中的技术含义。编辑您的问题以提供更多细节,并且有人可能会帮助您。 – CRD
你的代码中的逻辑是曲折的。请明白'if(thing)'then'else'已经意味着'!thing',并且不需要'else if(!thing)'。 – trojanfoe