Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios快速反应式编程_Ios_Swift - Fatal编程技术网

ios快速反应式编程

ios快速反应式编程,ios,swift,Ios,Swift,我不确定这个问题的最佳表达方式,但我会试试看。 我有一个按钮,其可见性直接绑定到模型中的状态变量。当该状态变量为true时,我希望按钮可见;当该状态变量为false时,我希望按钮不可见 swift中是否有一种本地方式将按钮的呈现直接绑定到状态变量?我的工作是创建一个函数,toggle state,它将状态更改和按钮可视性联系在一起,但实际上按钮可视性似乎应该在状态上是反应性的。如果您有一个从模型到视图的引用,可能通过一个接口,您可以这样定义状态变量: var stateVar: Bool {

我不确定这个问题的最佳表达方式,但我会试试看。 我有一个按钮,其可见性直接绑定到模型中的状态变量。当该状态变量为true时,我希望按钮可见;当该状态变量为false时,我希望按钮不可见


swift中是否有一种本地方式将按钮的呈现直接绑定到状态变量?我的工作是创建一个函数,toggle state,它将状态更改和按钮可视性联系在一起,但实际上按钮可视性似乎应该在状态上是反应性的。

如果您有一个从模型到视图的引用,可能通过一个接口,您可以这样定义状态变量:

var stateVar: Bool {
   didSet {
      // note that we are referencing our own variable here.
      self.delegate.setButtonHidden(self.stateVar)  
   }
}

不过我还是建议使用这个框架。它支持您尝试执行的操作,无需接口。

没有完全理解您的问题,您可以使用button.hidden Property Little改进:
delegate.setButtonHidden(stateVar)
只是想指出,我在didSet中使用了变量本身。一个问题是,如果没有类的初始值设定项,您如何为stateVar提供默认值?var stateVar:Bool=false{didSet{}