В настоящее время у меня есть список дел. При выборе строки alpha
тускнеет, указывая, что задача выбрана или «завершена». Я энергично искал здесь, как сохранить выбранное состояние ячейки до NSUserDefaults
.Swift - Сохранить выбор ячейки в NSUserDefaults
Мои ViewController
:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var defaults = NSUserDefaults.standardUserDefaults()
@IBOutlet weak var toDoListTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
if defaults.objectForKey("toDoList") != nil {
toDoList = defaults.objectForKey("toDoList") as [String]
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return toDoList.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var selectedCell = tableView.cellForRowAtIndexPath(indexPath)!
selectedCell.contentView.alpha = 0.3
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
var deselectedCell = tableView.cellForRowAtIndexPath(indexPath)!
deselectedCell.contentView.alpha = 1.0
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete {
toDoList.removeAtIndex(indexPath.row)
toDoListTable.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Left)
defaults.setObject(toDoList, forKey: "toDoList")
}
}
override func viewDidAppear(animated: Bool) {
toDoListTable.reloadData()
}
}
Я считаю, что я просто имею вопрос назвав его /, пытаясь выяснить, где называть его в. Любая помощь будет принята с благодарностью.
EDIT ** Что я сейчас сохраняю в содержимом, хранящемся с UITextField
.
Не могли бы вы предоставить дополнительную информацию? Как получить выбор из пользовательских настроек по умолчанию? Вы пытались распечатать, если выбор ячейки действительно сохранен? Как установить выбор ячейки после получения значений по умолчанию пользователя? На самом деле, в чем проблема? –
В чем проблема? –
Вы должны использовать IF LET, чтобы развернуть свой вариант вместо того, чтобы делать это дважды. если let toDoList = NSUserDefaults(). stringArrayForKey ("toDoList") как? [String] {...} –