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

Работа с sqlite - Программирование iOS/iPhone

Восстановить пароль Регистрация
Другие темы раздела
Программирование iOS/iPhone Интерфейс без Storyboard для новичка http://www.cyberforum.ru/ios-dev/thread879360.html
Добрый день! Находясь сейчас в самом начале своего пути iOS-разработчика, просматриваю довольно много разных уроков, статей, и вижу, что большинство из них (что касается разработки UI) ориентированы на создание интерфейса без использования Storyboard, так как созданы давненько. Чтобы не делать поначалу (возможно) лишнюю работу, хотел бы поинтересоваться - стоит ли сосредоточиться на...
Программирование iOS/iPhone UIWebView target="_blank" Добрый день! Как в UIWebView перехватить нажатие на ссылку с таргетом для нового окна? В - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType navigationType всегда возвращает UIWebViewNavigationTypeLinkClicked для каждой ссылки http://www.cyberforum.ru/ios-dev/thread877164.html
oAuth 2.0 Google застрял с получением кода Программирование iOS/iPhone
Доброе время суток. застрял с получением кода после того как через вебВью залогинился и разрешил доступ к данным вот этот редирект redirect_uri=urn:ietf:wg:oauth:2.0:oob работает нормально выдает код авторизации для получения токена но в вебВью (тоисть как вариант нужно будет вытащить его и сделать реквест на получение токина) http://localhost - при нажатие на разрешить доступ к...
Программирование iOS/iPhone Тестинг на айпаде приложения для айфона
Добрый день! Можно ли тестить приложение для айфона на айпаде, но чтоб размер экрана приложения был как у iPhone 5?
Программирование iOS/iPhone Бесплатно разместим обзор вашего приложения http://www.cyberforum.ru/ios-dev/thread873285.html
Доброго времени суток, уважаемые разработчики приложений для мобильный устройств! Мы - охотники за интересными приложениями для iPhone и iPad. На своем официальном сайте http://storios.ru мы публикуем обзоры только самых лучших, самых полезных и самых интересных приложений. Если вы - разработчик такого приложения, то мы с нетерпением ждем от вас письма. Вы можете прислать готовый обзор...
Программирование iOS/iPhone Разработка программы для IOS, связь по каналу Bluetooth Здравствуйте! Необходимо разработать приложение для IOS (только программную часть). Синхронное, удаленное управление (снятие показаний с датчиков, регулировка их) термостатами (2-3 шт.) по каналу Bluetooth 4.0. Подробности при запросе. Интересует стоимость разработки и сроки. Спасибо. Почта для связи: plv2007@bk.ru (Андрей) подробнее

Показать сообщение отдельно
Alex_pac
 Аватар для Alex_pac
1281 / 687 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
29.05.2013, 14:00     Работа с sqlite
1) нужен сиглтон, чтобы можно в любом месте кода внезапно запросить ваш "словарь"

1.1) в дополнение сингтон может содержать макрос экспресс доступа

пример сингтона с базой ввиде NSUserDefaults словаря
mysingleton.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import <Foundation/Foundation.h>
 
// глобальная видимость класса задана через файл Supporting Files/test_singleton-Prefix.pch
 
#define singleton [mysingleton getInstance] // макрос экспресс доступа
 
@interface mysingleton : NSObject
 
+(mysingleton*) getInstance;
 
@property NSMutableDictionary *base;
 
-(void) save; // процедура сохранения данных
 
@end
mysingleton.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
25
26
27
28
29
30
31
32
33
34
35
36
37
#import "mysingleton.h"
 
@implementation mysingleton
 
static mysingleton* mysingleton_st;
 
+(mysingleton*) getInstance {
    if (mysingleton_st == nil) {
        mysingleton_st = [mysingleton new];
        
        
        NSUserDefaults *nsu = [NSUserDefaults standardUserDefaults];
        
        // проверяем наличие базы
        if (![nsu objectForKey:@"base"]) {
            // база не обнаружена
            mysingleton_st.base = [NSMutableDictionary new];
            [nsu setObject:mysingleton_st.base forKey:@"base"];
        } else {
            // обнаржуена база
            mysingleton_st.base = [nsu objectForKey:@"base"];
            // мутируем словарь полностю (все вложенные словари и объекты мутируются)
            mysingleton_st.base = CFBridgingRelease(CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFPropertyListRef)(mysingleton_st.base), kCFPropertyListMutableContainers));
        }
    }
    return mysingleton_st;
}
 
-(void)save {
    NSUserDefaults *nsu = [NSUserDefaults standardUserDefaults];
    
    [nsu setObject:_base forKey:@"base"];
    [nsu synchronize]; // <<- данные сохранены
    
}
 
@end
последующие запросы к базе будут в формате

Objective-C
1
[singleton.base setObject:%object% forKey: %key%];
и тп

2) поскольку словарь имеет сложную структуру то с сингтоне можно выделить дополнительные ссылки на узлы словаря которые будут видимы в любом месте приложения вне зависимости от контроллера
Вложения
Тип файла: zip test_singleton.zip (79.1 Кб, 1 просмотров)
 
Текущее время: 18:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru