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

Как сохранять данные в plist? - Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS/iPhone Как я регистрировал Apple Developer в Украине http://www.cyberforum.ru/ios-dev/thread1136131.html
Всем доброго дня! Надеюсь, модераторы не посчитают эту тему рекламой банка (а если посчитают - пусть вырежут упоминание) )) Через n-ное количество времени после того, как я занялся iOS-разработкой, появилась необходимость открыть собственный аккаунт разработчика. В интернете я начитался много ужасов - про то, что надо отправлять факсы, что карточку надо очень конкретную иметь (причем, свой...
Программирование iOS/iPhone NSKeydArchiver Здравсвуйте, пытаюсь разобраться в сохранении данных приложения. У меня есть кастомный объект. // @interface CellObject : NSObject <NSCoding> @property (nonatomic, strong) NSString *links; @property (nonatomic, strong) NSString *title; @property (assign) BOOL isFavorite; @end http://www.cyberforum.ru/ios-dev/thread1135669.html
Выравнивание по нижнему краю Программирование iOS/iPhone
Здравствуйте. Подскажите, как контрол, например label, привязать к нижнему краю, чтобы при повороте экрана расстояние до нижней границы не изменялось ? Можно ли сделать такой констрейн в Auto Layout или только программно ?
Программирование iOS/iPhone IOS И Postgresql
Значит есть клиентское приложение написанное на языке java, серверная часть и база данных на postgresql. Встал вопрос о написание приложения под Ipad, которое будет взаимодействовать с бд. Приложение должно копировать функционал клиентского приложения написанное под windows) Возник вопрос, каков объем работы? хватит ли месяца на реализации этого приложения, если ранее приложения под IOS не...
Программирование iOS/iPhone HTML парсер Xcode http://www.cyberforum.ru/ios-dev/thread1133228.html
Добрый вечер! Помогите, пожалуйста разобраться в парсинге html в xcode. Сколько в интернете не смотрел примеров, везде они не для новичков, а я новенький в этом деле, может кто помочь на примере сделать парсинг с любого сайта?
Программирование iOS/iPhone AlertView и TextField Здравствуйте, у меня есть таблица с кастомными ячейками, и alertview который содержит 2 текст филда, и объект который должен записываться в ячейку. Подскажите как сделать, что бы я вводил текст в текстфилды, строки передавались объекту и объект записывался в ячейку и отображался там. Спасибо. // // SettingsViewController.m // RSSReader // // Created by admin on 3/27/14. // ... подробнее

Показать сообщение отдельно
Alex2301
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
07.04.2014, 12:18     Как сохранять данные в plist?
Нужно создать класс наследник от NSObject, в который будет заноситься вся информация. И в .m файле нужно описать кодер и декодер для сохранения данных.

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
@implementation CellObject
@synthesize title, links, isFavorite;
- (void)encodeWithCoder:(NSCoder *)aCoder
{
    [aCoder encodeObject:title forKey:@"title"];
    [aCoder encodeObject:links forKey:@"links"];
    [aCoder encodeBool:isFavorite forKey:@"favorite"];
 
}
 
- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super init];
    if (self)
    {
        [self setTitle:[aDecoder decodeObjectForKey:@"title"]];
        [self setLinks:[aDecoder decodeObjectForKey:@"links"]];
        [self setIsFavorite:[aDecoder decodeBoolForKey:@"favorite"]];
    }
    return self;
}
 
 
@end
Это методы для получения данных из Вашего файла:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- (NSString *)dataFilePath
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"CustomFeed.plist"];
    return dataPath;
}
 
- (NSMutableArray *)getListOfHubs
{
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"CustomFeed.plist"];
    NSMutableData *data =[[NSMutableData alloc] initWithContentsOfFile:path];
    NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data];
    return array;
}
Они должны быть описаны в Вашем контроллере.

У меня был вот такой метод сохранения:

Objective-C
1
2
3
4
5
6
- (void) persist {
    NSArray* rssArray = self.rssObjectArray;
    NSData *data = [NSKeyedArchiver archivedDataWithRootObject:rssArray];
    if ([data writeToFile:[self dataFilePath] atomically:YES]) {
    }
}
Его можно вызывать при каждом добавлении или редактировании записи, либо же по нажатию какой либо кнопки.

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