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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Создание приложений под iOS http://www.cyberforum.ru/ios-dev/thread1136295.html
Здравствуйте!Посоветуйте с чего начать создавать приложения.Пособия какие-то,советы,литература.Есть небольшие знания С++ и как я понял нужно знать Objective-C.
Программирование iOS Как я регистрировал Apple Developer в Украине Всем доброго дня! Надеюсь, модераторы не посчитают эту тему рекламой банка (а если посчитают - пусть вырежут упоминание) )) Через n-ное количество времени после того, как я занялся iOS-разработкой, появилась необходимость открыть собственный аккаунт разработчика. В интернете я начитался много ужасов - про то, что надо отправлять факсы, что карточку надо очень конкретную иметь (причем, свой... http://www.cyberforum.ru/ios-dev/thread1136131.html
NSKeydArchiver Программирование iOS
Здравсвуйте, пытаюсь разобраться в сохранении данных приложения. У меня есть кастомный объект. // @interface CellObject : NSObject <NSCoding> @property (nonatomic, strong) NSString *links; @property (nonatomic, strong) NSString *title; @property (assign) BOOL isFavorite; @end
Выравнивание по нижнему краю Программирование iOS
Здравствуйте. Подскажите, как контрол, например label, привязать к нижнему краю, чтобы при повороте экрана расстояние до нижней границы не изменялось ? Можно ли сделать такой констрейн в Auto Layout или только программно ?
Программирование iOS IOS И Postgresql http://www.cyberforum.ru/ios-dev/thread1133484.html
Значит есть клиентское приложение написанное на языке java, серверная часть и база данных на postgresql. Встал вопрос о написание приложения под Ipad, которое будет взаимодействовать с бд. Приложение должно копировать функционал клиентского приложения написанное под windows) Возник вопрос, каков объем работы? хватит ли месяца на реализации этого приложения, если ранее приложения под IOS не...
Программирование iOS HTML парсер Xcode Добрый вечер! Помогите, пожалуйста разобраться в парсинге html в xcode. Сколько в интернете не смотрел примеров, везде они не для новичков, а я новенький в этом деле, может кто помочь на примере сделать парсинг с любого сайта? подробнее

Показать сообщение отдельно
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]) {
    }
}
Его можно вызывать при каждом добавлении или редактировании записи, либо же по нажатию какой либо кнопки.

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