0
我在IOS中使用過一個成功的Singleton,但同樣的方法在watchkit中不適合我...任何想法爲什麼我的第二個界面控制器顯示0(初始化值)而不是在第一個界面控制器中輸入的數字?使用Singleton在Watchkit中傳遞數據
class Singleton {
static let instance = Singleton()
var salesPriceAsInt: Int = 0
}
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
// Configure interface objects here.
}
var salesPrice = ""
@IBOutlet weak var salesPriceLabel: WKInterfaceLabel!
func addCharacter(char: String) {
salesPrice += char
}
@IBAction func zeroButton() {
addCharacter("0")
salesPriceLabel.setText(salesPrice)
}
@IBAction func oneButton() {
addCharacter("1")
salesPriceLabel.setText(salesPrice)
}
@IBAction func twoButton() {
addCharacter("2")
salesPriceLabel.setText(salesPrice)
}
@IBAction func threeButton() {
addCharacter("3")
salesPriceLabel.setText(salesPrice)
}
@IBAction func fourButton() {
addCharacter("4")
salesPriceLabel.setText(salesPrice)
}
@IBAction func fiveButton() {
addCharacter("5")
salesPriceLabel.setText(salesPrice)
}
@IBAction func sixButton() {
addCharacter("6")
salesPriceLabel.setText(salesPrice)
}
@IBAction func sevenButton() {
addCharacter("7")
salesPriceLabel.setText(salesPrice)
}
@IBAction func eightButton() {
addCharacter("8")
salesPriceLabel.setText(salesPrice)
}
@IBAction func nineButton() {
addCharacter("9")
salesPriceLabel.setText(salesPrice)
}
@IBAction func segueButton() {
Singleton.instance.salesPriceAsInt = salesPrice.toInt()!
salesPriceLabel.setText("\(Singleton.instance.salesPriceAsInt)")
}
import WatchKit
import Foundation
class SecondPageInterfaceController: WKInterfaceController {
@IBOutlet weak var totalSaleCommissionLabel: WKInterfaceLabel!
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
}
@IBAction func secondPageButton() {
totalSaleCommissionLabel.setText("\(Singleton.instance.salesPriceAsInt)")
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}