У меня есть 3 класса в этом приложении.
Утечка памяти произошла в DetailBrand2.m,
DetailBrand2, унаследованный от DetailType,
Также у меня есть класс-оболочка FairPriceDatabaseView, который взаимодействует с sqlite3.
Я перепутал с NSDictionary, NSString и Sqlite?
В этой строке произошла утечка !!!?
NSDictionary * brandRow = [fairPrice_DB getProductRow: tempProductID];
NSString * message = [brandRow objectForKey: @ "brandName"];
brandRow = ноль;
Я только что начал в приложении iphone, заранее благодарен за любую помощь, я прочитал много руководств по управлению памятью iphone, но не могу решить это. Проблема в том, что я не использовал ни одно из ключевых слов, похожих на alloc, retain, copy или mutablecopy, но у меня есть утечка в этой строке !!
Эта строка возвращает NSDictionary, который содержит productID, productName, brandName, price. из класса-оболочки, fairPrice_DB является экземпляром FairPriceDatabaseView.
DetailBrand2.h
@interface DetailBrand2 : DetailType
{
NSString * topBrandName;
NSNumber * tempProductID;
NSString * brandName;
}
@property (nonatomic, retain) NSString * topBrandName;
@property (nonatomic, retain) NSString * brandName;
@property (nonatomic, retain) NSNumber * tempProductID;
-(void) loadbrandName;
@end
DetailBrand2.m
#import "DetailBrand2.h"
#import "SeventhFairPriceAppDelegate.h"
@implementation DetailBrand2
@synthesize topBrandName,brandName,tempProductID;
-(void) loadbrandName
{
if(!topBrandName)
{
[self loadDB];
*NSDictionary * brandRow = [fairPrice_DB getProductRow:tempProductID];*
NSString *message = [brandRow objectForKey:@"brandName"];
brandRow = nil;
self.topBrandName = message;
// self.brandName = self.topBrandName;
}
}