這裏是下面的代碼:單獨的類存儲輸入
class settings {
static let SharedInstance = settings()
var city: String {
return self.city
}
}
現在,我能夠從這樣一個單獨的視圖來訪問這個類:
@IBOutlet weak var cityLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
cityLabel.text = settings.SharedInstance.city
}
,但我希望能夠從另一個角度改變我的「settings
」課程中城市的價值。
喜歡的東西:
@IBOutlet weak var city: UITextField!
@IBAction func saveButtonClicked(_ sender: AnyObject) {
settings.SharedInstance.cityVar(city.text)
closeKeyboard()
}
我不知道如何從這裏
得到我的邏輯是發起setter
我class
內,或者一個function
,需要一個string
和改變變量,就像我試圖做的那樣。
UPDATE
我現在可以設置在該類獲取城市名稱:
class settings {
static let SharedInstance = settings()
var city: String?
func setCity(city: String){
self.city = city
}
}
現在的問題是,當我訪問城市變量在我的課「設置」,在另一看來,它不顯示新值:
override func viewDidLoad() {
super.viewDidLoad()
cityLabel.text = settings.SharedInstance.city
}
我相信它不會更新視圖
類設置{ 私人VAR _x:= 0 變種X:詮釋{ 集合{_x = 2 * NEWVALUE} 得到{_x/2}} } 嘗試這種方式 –