我有一个我想要检索其数据的函数。
在括号内,我可以打印出值DecodedData
。
但是,如果我要将print(DecodedData)
放在函数外部,Xcode会告诉我“预期声明”我如何才能在整个文件中访问DecodedData
?
我尝试过使用委托方法但没有成功,还有其他办法吗?如果是这样,我该怎么做呢?
var DecodedData = ""
//Reading Bluetooth Data
func peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {
if let data = characteristic.value {
DecodedData = String(data: data, encoding: NSUTF8StringEncoding)!
}
print(DecodedData)
}
我如何在不同的Swift文件中使用变量DecodedData
?
答案 0 :(得分:0)
您可以在类中创建静态变量,并将其用于任何其他swift文件。
class YourClass {
static var DecodedData: String = ""
...
func peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {
if let data = characteristic.value {
YourClass.DecodedData = String(data: data, encoding: NSUTF8StringEncoding)!
}
print(YourClass.DecodedData)
}
}
或者您可以创建yourclas的单个对象。
class YourClass {
static let singletonInstance = YourClass()
var DecodedData: String = ""
private init() {
}
func peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {
if let data = characteristic.value {
self.DecodedData = String(data: data, encoding: NSUTF8StringEncoding)!
}
}
}
在其他类中,您可以使用单例对象。