【发布时间】:2014-09-09 14:57:04
【问题描述】:
我的视图中有一个按钮,可以让另一个视图进出动画。菜单按钮可能显示和隐藏菜单的方式相同。这就是我现在拥有的:
- (void) declareBindings {
self.myButton.rac_command = self.toggleMenuCommand;
}
- (RACCommand *) toggleMenuCommand {
if (!_toggleMenuCommand) {
@weakify(self);
_toggleMenuCommand = [[RACCommand alloc] initWithEnabled:[RACSignal return:@(YES)] signalBlock:^RACSignal *(id sender) {
@strongify(self);
if (!self.menuView.isShowing) {
[self showMenu];
}else{
[self hideMenu];
}
return [RACSignal empty];
}];
}
return _toggleMenuCommand;
}
问题在于它迫使我将状态存储在 self.menuView.isShowing 中。我很确定这不是正确的方法。如何更改此设置,以便按钮在隐藏和显示菜单之间交替显示,而不存储状态?
编辑: 好的,我最好的猜测是创建单独的命令来显示和隐藏菜单,然后每次都将另一个命令设置为副作用。很想听听任何更好的想法!
【问题讨论】:
标签: ios objective-c reactive-cocoa