LSMiniDB 1.0.1

LSMiniDB 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
已发布上次发布2017年10月

Leszek SLeszek S 维护。



LSMiniDB 1.0.1

  • Leszek S

LSMiniDB 是一个简单易用且简约的数据库。易于从代码中配置。所有数据库操作(插入/选择/更新/删除)都在后台线程上以 NSDictionary 对象异步执行。

配置数据库模型和存储

- (void)configureDatabase
{
    NSDictionary *userTable = @{ @"uuid" : @(NSStringAttributeType),
                                 @"name" : @(NSStringAttributeType),
                                 @"score" : @(NSInteger32AttributeType),
                                 @"date" : @(NSDateAttributeType) };
    
    NSDictionary *eventTable = @{ @"name" : @(NSStringAttributeType),
                                  @"date" : @(NSDateAttributeType) };
    
    NSDictionary *model = @{ @"user" : userTable,
                             @"event" : eventTable };
    
    [[LSMiniDB defaultInstance] configureWithModel:model fileName:@"database.db"];
}

用法示例

NSDictionary *user = @{ @"uuid" : [NSUUID UUID].UUIDString,
                        @"name" : @"John",
                        @"score" : @55,
                        @"date" : [NSDate new] };

// insert
[[LSMiniDB defaultInstance] insertObject:user table:@"user" completion:^{
    NSLog(@"inserted user");
}];

// select
[[LSMiniDB defaultInstance] selectObjectsFromTable:@"user" predicate:[NSPredicate predicateWithFormat:@"name == %@", @"John"] sortDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"score" ascending:NO]] limit:5 completion:^(NSArray<NSDictionary *> *objects) {
    NSLog(@"selected users");
}];

// update
[[LSMiniDB defaultInstance] updateObject:user table:@"user" predicate:[NSPredicate predicateWithFormat:@"uuid == %@", user[@"uuid"]] completion:^{
    NSLog(@"updated user");
}];

// delete
[[LSMiniDB defaultInstance] deleteObjectsFromTable:@"user" predicate:[NSPredicate predicateWithFormat:@"uuid == %@", user[@"uuid"]] completion:^{
    NSLog(@"deleted user");
}];

更多示例在示例项目中。

许可协议

LSMiniDB 采用 MIT 许可协议。