目录 由DocToc生成
基于iOS的存储,基于FMDB和GreedJSON。可以直接保存NSDictionary、NSArray、NSData、NSString、NSNumber或NSObject
pod 'GreedDB'
用于模型的存储 GRDatabaseDefaultModel
- (void)initDefault
{
self.database = [[GRDatabaseDefaultQueue alloc] init];
NSLog(@"%@",_database.dbPath);
[_database setTableName:@"testDefault"];
[_database setCreateFilterIndex:YES];
[_database setCreateKeyIndex:YES];
[_database setCreateSortIndex:YES];
[_database recreateTable];
}
- (void)saveDefault
{
GRTestDefaultModel *model = [[GRTestDefaultModel alloc] init];
model.string = @"string";
model.integer = 1;
NSString *filter = [GRTestDefaultModel filterForFilter1:@"filter1" filter2:@"filter1"];
GRDatabaseDefaultModel *dbModel = [[GRDatabaseDefaultModel alloc] init];
[dbModel setKey:@1];
[dbModel setValue:model];
[dbModel setFilter:filter];
[_database saveWithModel:dbModel];
}
- (void)updateDefault
{
NSString *filter = [GRTestDefaultModel filterForFilter1:@"filter1" filter2:@"filter1"];
GRTestDefaultModel *model = [[GRTestDefaultModel alloc] init];
model.string = @"update";
model.integer = 2;
[_database updateValue:model byKey:@1 filter:filter];
}
- (void)getDefault
{
NSString *filter = [GRTestDefaultModel filterForFilter1:@"filter1" filter2:@"filter1"];
NSArray *array = [_database getValuesByKey:@1 filter:filter];
NSLog(@"%@",array);
}
用于多过滤器的取值。例如:使用多个键进行搜索
- (void)initMultFilter
{
self.multFilterQueue = [[GRDatabaseMultFilterQueue alloc] init];
NSLog(@"%@",_multFilterQueue.dbPath);
[_multFilterQueue setValueName:[GRTestMultFilterModel valueName]];
[_multFilterQueue setFilterNames:[GRTestMultFilterModel filterNames]];
[_multFilterQueue setTableName:@"testMultFilter"];
[_multFilterQueue recreateTable];
}
- (void)saveMultFilter
{
GRTestMultFilterModel *model = [[GRTestMultFilterModel alloc] init];
model.value = @"value";
model.filter1 = @"filter1";
model.filter4 = @"filter4";
[_multFilterQueue saveWithValueFiltersDictionary:[model gr_dictionary]];
}
- (void)getMultFilter
{
GRTestMultFilterModel *model = [[GRTestMultFilterModel alloc] init];
model.filter1 = @"filter1";
model.filter4 = @"filter4";
NSArray *array = [_multFilterQueue getValuesByFiltersDictionary:[model gr_noNUllDictionary]];
NSLog(@"%@",array);
}
- (void)delMultFilter
{
GRTestMultFilterModel *model = [[GRTestMultFilterModel alloc] init];
model.filter1 = @"filter1";
model.filter4 = @"filter4";
[_multFilterQueue delByValueFiltersDictionary:[model gr_noNUllDictionary]];
}
MIT