gpt4 book ai didi

ios - 在另一个 Observable Bool 变量中获取 Observable Bool 变量的结果?

转载 作者:行者123 更新时间:2023-11-30 11:12:08 25 4
gpt4 key购买 nike

假设我们有这段代码:

var clientLinesLoaded:Bool = Bool() {
didSet{
print(clientLinesLoaded)
if(clientLinesLoaded == true){
print("->->->->-> clientLinesLoaded")
}else{
print("->->->->-> error loading...")
}
}
}

var clientDatasLoaded:Bool = Bool() {
didSet{
print(clientDatasLoaded)
if(clientDatasLoaded == true){
print("->->->->-> clientLinesLoaded")
}else{
print("->->->->-> error loading...")
}
}
}

当两个变量都设置为“true”时,我试图触发另一个didSet

这就是我的想法......

override func viewDidLoad() {
super.viewDidLoad()


var loaderMustDisappear:Bool = Bool(self.clientLinesLoaded && self.clientDatasLoaded) {
didSet {
print ("value is: ",loaderMustDisappear)
if(loaderMustDisappear){
print("remove loader")
self.cargador.isHidden=true
}else{
print("loading failed, do actions to control")
}
}
}
}

前 2 个 didSet 在更改其值时会正确触发。

问题是 loaderMustDisappear 上的 didSet 从未被调用,我不确定为什么会发生这种情况......

有人处理过这样的情况吗?

谢谢大家!

最佳答案

我不知道为什么您的代码会起作用,因为 loaderMustDisappear 变量是在 viewDidLoad 中声明的,并且您正在更改 clientLinesLoaded< 的值clientDatasLoaded 来自另一个函数。

但是您可以使用闭包来实现这一点。在你的类中声明一个闭包:

var loaderMustDisappearClosure : (()->())?

以及两个Bool变量:

var clientLinesLoaded:Bool = Bool() {
didSet{
print(clientLinesLoaded)
if(clientLinesLoaded == true){
print("->->->->-> clientLinesLoaded")
self. loaderMustDisappearClosure?()
}else{
print("->->->->-> error loading...")
}
}
}

var clientDatasLoaded:Bool = Bool() {
didSet{
print(clientDatasLoaded)
if(clientDatasLoaded == true){
print("->->->->-> clientLinesLoaded")
self. loaderMustDisappearClosure?()
}else{
print("->->->->-> error loading...")
}
}
}

并在viewDidLoad中:

self.loaderMustDisappearClosure = {
if self.clientLinesLoaded && self.clientDatasLoaded {
print("Disappear Loader")
}
}

self.clientLinesLoaded = true
self.clientDatasLoaded = true

当您将 true 设置为 clientDatasLoaded 后执行此操作时。消失的加载程序将在控制台中打印。因此您可以在类里面的任何地方实现这一目标。

希望这对您想要实现的目标有所帮助。

关于ios - 在另一个 Observable Bool 变量中获取 Observable Bool 变量的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52074503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com