0
下面的代码:iOS FMDB Sqlite包装。内存不足。
错误调用sqlite3_step:当我运行它
-(NSArray *)getContentsWithContextTypes:(NSArray *)contextTypes contextData:(NSArray *)contextData { __block NSString *query = @"SELECT * FROM Texts_original1 WHERE "; [contextData enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSString *attributeName = [self.contextTypeToDBQueryTexts objectForKey:contextTypes[idx]]; query = [query stringByAppendingFormat:@"%@ = \"%@\"", attributeName, obj]; if(idx != contextData.count - 1) { query = [query stringByAppendingString:@" AND "]; } }]; [self.db open]; FMResultSet *results = [self.db executeQuery:query]; NSMutableArray *array = [NSMutableArray array]; while([results next]) { Content *content = [[TextualContent alloc] initWithResults:results]; [array addObject:content]; } [self.db close]; return array; }
生成以下错误(21:内存不足)RS
它发生通过循环的一半。应该有33个结果。 17后,我得到该错误,并退出循环。有任何想法吗?谢谢。
不错,我会检查它,并有一个尝试。 – Autobots 2013-05-02 02:28:42
试试www.github.com/pmurphyjam/DBExample这是一个使用Sqlite的Xcode项目。它没有这些内存问题,并且可以执行SQL事务来编写大型查询。 – Pat 2014-05-22 21:33:26