2015-05-20 48 views
1

我想用文本填充文本字段,當我打開開關時,該文本從其他頁面中的一個存儲在NSUserDefaults變量中。當我打開開關時,出現「發送到實例的無法識別的選擇器」的錯誤消息。這是我的代碼給了我錯誤。 gamesListText是可變NSUserDefaults的,我已經數據。激活開關時用文本填充textfields

@IBAction func switchActivated(sender: AnyObject) { 

    if switch.on { 
     gameSearchLabel.text = gameListText 
    } 
} 

我已經看過其他人誰得到這個錯誤,但他們沒有真正應用到我的特殊情況,他們是非常過時的問題。

+0

@IBOutlet VAR preferenceSwitch:UISwitch! – Victor17

+0

我剛剛爲我的開關@IBOutlet var preferenceSwitch:UISwitch!做了一個基本的插座。我的gamesListText是一個全局字符串var gamesListText =「」。在我的viewDidLoad函數中,我將gamesListText = NSUserDefaults.standardUserDefaults()。objectForKey(「gamesListText」)設置爲!串。在設置gamesListText之後,我將它附加到文本框中,以便它與我在文本框中輸入的內容相等,最後每次按下保存按鈕時都會更新它。 – Victor17

+0

@IBAction func saveButton(sender:AnyObject){gamesListText = gamesListTextField.text NSUserDefaults.standardUserDefaults().setObject(gamesListText,forKey:「gamesListText」)} – Victor17

回答

1
@IBAction func switchActivated(sender: UISwitch) { 
    if sender.on { 
     gameSearchLabel.text = gameListText 
    } 
} 

在您的viewDidLoad

​​
+1

這解決了這個問題感謝您的幫助利奧和大家感謝評論非常感謝 – Victor17

+0

@ Victor17你不客氣 –

0

將您的店鋪重新命名爲switch以外的店鋪。 Swift認爲你正在試圖定義一個​​。

@IBOutlet weak var switchOutlet: UISwitch! 
@IBAction func switchAction(sender: AnyObject) { 
    if switchOutlet.on { 
     println("switch is ON") 
    } 
    else { 
     println("switch is OFF") 
    } 
} 

此外,你應該設置/獲取你NSUserDefaults因爲你設置/獲取一個String類型時使用代替objectForKey