【发布时间】:2016-01-10 08:38:10
【问题描述】:
我有两个班级,我想获得一个带有值的变量(该变量在一个函数中)到我的第二个班级:
public class StreamPlayer {
class var sharedInstance : StreamPlayer{
struct Static {
static let instance : StreamPlayer = StreamPlayer()
}
return Static.instance
}
public var intermediate = NSString()
func metaDataUpdated(metaData : NSString){
var result : String = ""
var listItems = metaData.componentsSeparatedByString(";") as [String]
if (listItems.count > 0){
var containerName = listItems[0]
result = "StreamTitle=\'([^\"]*)\'".matchesForRegexIn(containerName, atRangeIndex: 1)
self.intermediate = result
}
}
}
和第二类
class RadioViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
println(test + StreamPlayer.sharedInstance.intermediate)
}
}
问题是 var 中间没有改变并且没有得到结果的值(在我的第一个类中)
【问题讨论】:
-
你确定 listItems.count > 0 了吗?
-
你永远不会调用函数
metaDataUpdated。 -
是的,我已经 println 结果,它得到了我想要的,问题是将结果存入中间,
-
metaDataUpdated 被另一个函数使用
-
你确定结果是否有价值?