Форум программистов, компьютерный форум CyberForum.ru

Как сохранить Array в NSUserDefaults? - Swift

Войти
Регистрация
Восстановить пароль
 
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 39
17.12.2015, 12:21     Как сохранить Array в NSUserDefaults? #1
Всем доброго дня! Помогите пожалуйста сохранить array с чекмарками в NSUserDefaults с последующим его чтением. Пишу на swift

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var check = [Bool](count: 30, repeatedValue: false)
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        //создаем алерт контроллер
        let actionMenu = UIAlertController(title: nil, message: nil, preferredStyle: .ActionSheet)
        
        //создаем действия для контроллера
        let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
        actionMenu.addAction(cancelAction)
        
        //действие "выполнил"
        let iHaveBeenThereAction = UIAlertAction(title: "Completed!", style: .Default, handler: { (action: UIAlertAction) -> Void in
            
            let cell = tableView.cellForRowAtIndexPath(indexPath)
            //cell?.accessoryType = .Checkmark
            cell?.accessoryView = UIImageView(image: UIImage(named: "checkicon.png"))
            self.check[indexPath.row] = true
        })
        
        //действие "не выполнил"
        let iHaveNeverBeenThereAction = UIAlertAction(title: "Not completed.", style: .Default, handler: { (action: UIAlertAction) -> Void in
            
            let cell = tableView.cellForRowAtIndexPath(indexPath)
            //cell?.accessoryType = .None
            cell?.accessoryView = nil
            self.check[indexPath.row] = false
        })
        
        //создаем ячейку, проверяем и добавляем соответствующее действие
        let cell = tableView.cellForRowAtIndexPath(indexPath)
        
        if cell?.accessoryView != nil {
            actionMenu.addAction(iHaveNeverBeenThereAction)
        } else {
            actionMenu.addAction(iHaveBeenThereAction)
        }
        
        //отображаем контроллер
        self.presentViewController(actionMenu, animated: true, completion: nil)
        
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2015, 12:21     Как сохранить Array в NSUserDefaults?
Посмотрите здесь:

Swift Как сохранить введенные данные пользователя в поле TextField нажатием клавиши «done» на клавиатуре?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Митя800
46 / 46 / 12
Регистрация: 13.07.2015
Сообщений: 156
19.12.2015, 10:55     Как сохранить Array в NSUserDefaults? #2
korolevsky, в чем проблема? Вызывайте методы
C
1
func setObject(_ value: AnyObject?, forKey defaultName: String)
и
C
1
func arrayForKey(_ defaultName: String) -> [AnyObject]?
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 39
19.12.2015, 12:32  [ТС]     Как сохранить Array в NSUserDefaults? #3
Спасибо! Именно так реализовал до Вашего ответа. ) Не успел отписаться.
Yandex
Объявления
19.12.2015, 12:32     Как сохранить Array в NSUserDefaults?
Ответ Создать тему

Метки
swift, xcode
Опции темы

Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru