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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Интерфейс без Storyboard для новичка http://www.cyberforum.ru/ios-dev/thread879360.html
Добрый день! Находясь сейчас в самом начале своего пути iOS-разработчика, просматриваю довольно много разных уроков, статей, и вижу, что большинство из них (что касается разработки UI) ориентированы на создание интерфейса без использования Storyboard, так как созданы давненько. Чтобы не делать поначалу (возможно) лишнюю работу, хотел бы поинтересоваться - стоит ли сосредоточиться на...
Программирование iOS 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
Доброе время суток. застрял с получением кода после того как через вебВью залогинился и разрешил доступ к данным вот этот редирект redirect_uri=urn:ietf:wg:oauth:2.0:oob работает нормально выдает код авторизации для получения токена но в вебВью (тоисть как вариант нужно будет вытащить его и сделать реквест на получение токина) http://localhost - при нажатие на разрешить доступ к...
Программирование iOS Тестинг на айпаде приложения для айфона
Добрый день! Можно ли тестить приложение для айфона на айпаде, но чтоб размер экрана приложения был как у iPhone 5?
Программирование iOS Бесплатно разместим обзор вашего приложения http://www.cyberforum.ru/ios-dev/thread873285.html
Доброго времени суток, уважаемые разработчики приложений для мобильный устройств! Мы - охотники за интересными приложениями для iPhone и iPad. На своем официальном сайте http://storios.ru мы публикуем обзоры только самых лучших, самых полезных и самых интересных приложений. Если вы - разработчик такого приложения, то мы с нетерпением ждем от вас письма. Вы можете прислать готовый обзор...
Программирование iOS Разработка программы для IOS, связь по каналу Bluetooth Здравствуйте! Необходимо разработать приложение для IOS (только программную часть). Синхронное, удаленное управление (снятие показаний с датчиков, регулировка их) термостатами (2-3 шт.) по каналу Bluetooth 4.0. Подробности при запросе. Интересует стоимость разработки и сроки. Спасибо. Почта для связи: plv2007@bk.ru (Андрей) подробнее

Показать сообщение отдельно
Alex_pac
1282 / 688 / 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 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru