1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yanglishuan-STDbObject

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

STDbKit

Эта библиотека предоставляет простой способ доступа к базе данных sqlite.

Требования

Для этого проекта требуются:

  • iOS 5;
  • ARC.

Podfile

Чтобы интегрировать STDbKit в свой проект Xcode с помощью CocoaPods, укажите его в своём Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
pod 'STDbKit', '~> 2.3.0'
end

Затем выполните следующую команду:

$ pod install

Использование

  1. Объявите класс, например User:

    
    

#import "STDbObject.h" #import "STDbQueue.h" #import "STDb.h"

@interface User : STDbObject

@property (strong, nonatomic) NSString *name; @property (assign, nonatomic) NSInteger age; @property (strong, nonatomic) NSNumber *sex; @property (assign, nonatomic) NSTimeInterval time; @property (assign, nonatomic) int _id;

@end


2. Вставьте в базу данных:

   1.

     ```
    STDbQueue *dbQueue = [STDbQueue dbWithPath:@"stdb_test/test_queue.sqlite"];
    [dbQueue execute:^(STDb *db) {
      User *user = [[User alloc] initWithPrimaryValue:8];
      user.name = @"yls";
      [db insertDbObject:user];
    }];
    ```

   2.

     ```
    STDbQueue *dbQueue = [STDbQueue dbWithPath:@"stdb_test/test_queue.sqlite"];
    [dbQueue execute:^(STDb *db) {
      User *user = [[User alloc] initWithPrimaryValue:8];
      user.name = @"yls";
      [user insertToDb:db];
    }];
    ```

   3.

     ```
    STDbQueue *dbQueue = [STDbQueue dbWithPath:@"stdb_test/test_queue.sqlite"];
    [dbQueue execute:^(STDb *db) {
      [db executeUpdate:@"insert into User(?) values(?)" dictionaryArgs:@{@"name" : @"aaa"}];
    }];
  1. Выполните запрос:

NSArray *users = [User allDbObjects];
[dbQueue execute:^(STDb *db) {
  [db executeQuery:@"select * from User" resultBlock:^(NSArray *resultArray) {
         NSLog(@"%@", resultArray);
  }];
}];
  1. Обновите:

    1. Сначала запросите объект:
    NSArray *users = [User dbObjectsWhere:@"_id=11" orderby:nil];
    if ([users count] > 0) {
      User *user = users[0];
      user.name = @"stlwtr";
      // 更新到数据库
      [user updateToDb];
    }
    [dbQueue execute:^(STDb *db) {
     [db executeQuery:@"delete from User where __id__=8"];
     }];
    }];
    // delete the objects on condition
    [User removeDbObjectsWhere:@"_id=%d", 4];
5. Удалите:

   1. Получите объекты для удаления:

     ```
    User *user = _users[row];
    // удалите объект
    [user removeFromDb];
    ```

   2.

     ```
    [dbQueue execute:^(STDb *db) {
      [db executeQuery:@"delete from User where __id__=8"];
      }];
    }];
    // удалить объекты при условии
    [User removeDbObjectsWhere:@"_id=%d", 4];

Roadmap

Текущая версия: 2.3.0

  • 2.3.0:

    • Поддержка STIgnore, STDbPrimaryKey.
  • 2.2.5:

    • Поддержка шифрования файлов .sqlite.
    • Завершение документации Readme.md.
  • V2.2.4:

    • Поддержка управления транзакциями.
  • V2.2.1:

    • Поддержка управления потоками.
  • V2.0.2:

    • Добавлен метод для преобразования класса объекта в словарь.
    • Добавлен метод для преобразования словаря в класс объекта.
  • V2.0:

    • Поддерживает массив, содержащий объекты класса STDbObject.
    • Поддерживает словарь, содержащий объект класса STDbObject.
    • Удаляет ассоциированный объект класса STDbObject после удаления родительского объекта.
  • V1.0.5:

    • Поддерживает объект класса STDbObject, который содержит другой объект класса STDbObject.
  • V1.0.4:

    • Добавить свойство dbObject expireDate, когда данные истекают, они будут автоматически удалены из базы данных.
  • V1.0.3:

  • Поддержка классов коллекций, таких как NSData, NSDate, NSArray, NSDictionary.

FAQ

Вопросов пока не задавали.

Лицензия

Лицензия MIT.

Авторские права (c) 2014 Тибо Карпантье carpen_t@epitech.eu.

Разрешается бесплатно использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и/или продавать копии данного программного обеспечения любому лицу, получающему копию настоящего программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), без ограничения прав на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также предоставление лицам, которым предоставляется Программное обеспечение, возможности осуществлять эти действия при соблюдении следующих условий:

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/yanglishuan-STDbObject.git
git@api.gitlife.ru:oschina-mirror/yanglishuan-STDbObject.git
oschina-mirror
yanglishuan-STDbObject
yanglishuan-STDbObject
master