假设在我的单例数据库管理器中。
+ (SWDatabaseManager *)retrieveManager
{
@synchronized(self)
{
if (!sharedSingleton)
{
sharedSingleton = [[SWDatabaseManager alloc] init];
}
return sharedSingleton;
}
}
- (NSArray *)getProductDetails:(NSString *)someString
{
NSArray *temp = [self getRowsForQuery:someString];
return temp;
}
- (NSArray *)getRowsForQuery:(NSString *)sql
{
sqlite3_stmt *statement=nil;
NSMutableArray *arrayResults = [NSMutableArray arrayWithCapacity:1];
//
//Fetching data from database and adds them in to arrayResults
//
return arrayResults;
}
现在从一些视图控制器我正在调用这样的数据库管理器的功能......
[self getProductServiceDidGetDetail:[[SWDatabaseManager retrieveManager] getProductDetail: @"SomeQuery"]
- (void)getProductServiceDidGetDetail:(NSArray *)detailArray
{
[self setDataSource:[NSArray arrayWithArray:detailArray]];
[self.tableView reloadData];
}
问题是...... getRowsForQuery 的arrayResult 何时发布?
我需要将 nil 分配给 getProductServiceDidGetDetail 的 detailArray 吗?
有没有内存泄漏?
建议将不胜感激。