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

Swift

Войти
Регистрация
Восстановить пароль
 
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 45
#1

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

17.12.2015, 12:21. Просмотров 369. Ответов 2

Всем доброго дня! Помогите пожалуйста сохранить 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):

Как сохранить данные при переходе на другой ViewController? - Программирование iOS
у меня есть два вьюконтроллера на первом: кнопка перехода на второй вьюконтроллер (связь modal), лэйбл и кнопка изменяющая лэйбл на...

CoreData: как сохранить только одну entity из множества созданных - Программирование iOS
Добрый день! Не могу разобраться, как сделать вот что: При работе приложения на разных этапах создается несколько сущностей...

Как сохранить состояние приложения и восстановить его при следующем запуске - Программирование iOS
Здравствуйте! Я использую <NSCoding>, реализую необходимые методы, сохраняю в файл типа plist, в application...

как сохранить QTableWidget в Numpy Array - Python
Здравствуйте. Собственно, сабж: может кто-нибудь знает каким образом можно сохранить tablewidget в массив numpy ? Нужно строить граф с...

сейв NSUserDefaults - Objective-C
сейвлю BestTime каждова лвла через ключи NSUserDefaults ниче не политит при апдейте приложения? и есть ли с этим какие либо траблы?

Как устроена внутренняя реализация Array.Copy и Array.CopyTo - C#
Народ плис, я новичок, но нужна срочная консультация: Кто знает как устроена внутренняя реализация Array.Copy и Array.CopyTo? Есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Митя800
51 / 51 / 13
Регистрация: 13.07.2015
Сообщений: 176
19.12.2015, 10:55 #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
Сообщений: 45
19.12.2015, 12:32  [ТС] #3
Спасибо! Именно так реализовал до Вашего ответа. ) Не успел отписаться.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2015, 12:32
Привет! Вот еще темы с ответами:

Двумерный массив <array>. const int value = array.size(); value не константа? - C++
#include &lt;array&gt; #include &lt;iostream&gt; using std::array; using std::cout; /*ФУНКЦИЯ ЗАПОЛНЕНИЯ МАССИВА ЗНАЧЕНИЯМИ*/ template...

Присвоить значения переменных в массив Array (class Array в Turbo C++) - C++
Здравствуйте!!! Изучаю help в Turbo C++ 3.1 дошел до класса Array: main() { //при подключение соответствующих библиотек и...

Что означает эта запись array = array.Select((x) => x == max ? sum : x).ToArray() - C#
вот пример class test { static void Main(string args) { int array = { 5, -9, 8, 6, -14...

Mathcad ошибка this array index is invalid for this array - MathCAD
хочу вывести новую матрицу но выдаётся ошибка this array index is invalid for this array скорее всего это из-за того, что число строк...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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