Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Xcode 每当静态变量值更改时触发函数_Xcode_Swift_Function_Core Bluetooth - Fatal编程技术网

Xcode 每当静态变量值更改时触发函数

Xcode 每当静态变量值更改时触发函数,xcode,swift,function,core-bluetooth,Xcode,Swift,Function,Core Bluetooth,我正在开发一款iPhone应用程序,使用swift通过蓝牙与其他设备进行通信。我的问题是,每当变量从CoreBooth接收到新数据时,我想在另一个类上启动一个函数(更改显示值)。有人能帮忙吗 这可以通过两种方式之一实现,使用KVO或NSNotificationCenter。在这种情况下,最好使用KVO,因为您只收听一个属性。这可以通过以下两种方式之一实现,即使用KVO或NSNotificationCenter。在这种情况下,最好使用KVO,因为您只收听一个属性。 实现委托来执行它 编写协议 pr

我正在开发一款iPhone应用程序,使用swift通过蓝牙与其他设备进行通信。我的问题是,每当变量从CoreBooth接收到新数据时,我想在另一个类上启动一个函数(更改显示值)。有人能帮忙吗

这可以通过两种方式之一实现,使用KVO或NSNotificationCenter。在这种情况下,最好使用KVO,因为您只收听一个属性。

这可以通过以下两种方式之一实现,即使用KVO或NSNotificationCenter。在这种情况下,最好使用KVO,因为您只收听一个属性。

实现委托来执行它

编写协议

protocol ValueChangedDelegate {
  func valueChanged(nValue:Int)
}
并在需要新值的视图控制器中实现该协议

class YourCustomClass: ValueChangedDelegate 
{
  func valueChanged(nValue:Int) {
    print("value changed")
  }
}
然后实现一个委托,并将该委托设置为self,并在值更改时调用该方法,然后所有实现该协议的类都将收到新值

class YourCustomClass: ValueChangedDelegate 
{
  func valueChanged(nValue:Int) {
    print("value changed")
  }
}
你可以参考这个 魏

实现委托来执行它

编写协议

protocol ValueChangedDelegate {
  func valueChanged(nValue:Int)
}
并在需要新值的视图控制器中实现该协议

class YourCustomClass: ValueChangedDelegate 
{
  func valueChanged(nValue:Int) {
    print("value changed")
  }
}
然后实现一个委托,并将该委托设置为self,并在值更改时调用该方法,然后所有实现该协议的类都将收到新值

class YourCustomClass: ValueChangedDelegate 
{
  func valueChanged(nValue:Int) {
    print("value changed")
  }
}
你可以参考这个

-我更喜欢用
Swift
的方式,使用
didSet

示例:

var value: Int?
{
    didSet
    {
        print("I just got changed")
    }
}

value = 10
-
Swift
中,我们使用
didSet
模型发生变化时立即更新UI

-在上例中,一旦变量
值设置为10,其
didSet
即被激发


-类似地,您可以使用它来处理蓝牙值

-我更喜欢使用
didSet
Swift
的方式进行操作

示例:

var value: Int?
{
    didSet
    {
        print("I just got changed")
    }
}

value = 10
-
Swift
中,我们使用
didSet
模型发生变化时立即更新UI

-在上例中,一旦变量
值设置为10,其
didSet
即被激发


-类似地,您可以使用此方法处理蓝牙值

是的,我尝试添加委托方法,但函数未激发。我无法确定我遗漏了哪些部分是的,我尝试添加委托方法,但函数未激发。我无法确定我遗漏了哪些部分