Advertise Books Events Forum News Social Networking Support Us

sdkIQ for iPhone
($4.99)

Shape Up
($0.99)

Your First iPhone App
($1.99)

iVidCam Free
(free)

Kid Art
($0.99)

iPUBQUIZ
(£1.19)

ArtStudio
($3.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum

Thread: Memory Leaks..!
View Single Post
Old 07-03-2009, 03:32 AM   #8 (permalink)
_mubashir
Registered Member
 
Join Date: Jun 2009
Posts: 43
Default

Hi,
The leak happens right after ViewDidLoad->getData functions.
So my viewDidLoad calls getData which fetches the data from sqlite DB and create Provider Objects and stores them in a NSMutableArray declared in the appdelegate. Here is complete function

Code:
- (void)getData {
	  
	MRAAppDelegate *appDelegate = (MRAAppDelegate *)[[UIApplication sharedApplication] delegate];
		if(statementSelectProvider == nil){
		const char *sql = "SELECT ProviderMaster_WK, ProviderID, LastName, FirstName, IsNew, City FROM tblProvider WHERE Project_WK=?";
		if (sqlite3_prepare_v2(database, sql, -1, &statementSelectProvider, NULL) != SQLITE_OK)
		{NSAssert1(0, @"Failed to prepare database with message '%s'.", sqlite3_errmsg(database));}
		// Preparing a statement compiles the SQL query into a byte-code program in the SQLite library.
		// The third parameter is either the length of the SQL string or -1 to read up to the first null terminator.   
	}

	sqlite3_bind_int(statementSelectProvider, 1, appDelegate.ProjectWK);
	
	// We "step" through the results - once for each row.
	while (sqlite3_step(statementSelectProvider) == SQLITE_ROW) {
		// The second parameter indicates the column index into the result set.
		int iD = sqlite3_column_int(statementSelectProvider, 0);
		NSString *PID = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statementSelectProvider, 1)];
		NSString *LName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statementSelectProvider, 2)];
		NSString *FName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statementSelectProvider, 3)];
		BOOL isNew = sqlite3_column_int(statementSelectProvider, 4); 
		NSString *city = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statementSelectProvider, 5)];
		
		Provider *objProvider = [[Provider alloc] initWithTitle:iD ProviderID:PID LastName:LName FirstName:FName city:city isNew:isNew];
		[appDelegate addProvider:objProvider];
		
	
		[objProvider release];
		
		
	}
	
	// "reset" the statement 
	
	sqlite3_reset(statementSelectProvider);
	if(statementSelectProvider)
	{
		sqlite3_finalize(statementSelectProvider);
		statementSelectProvider=nil;
	}
}
Please suggest if anything is wrong

Thanks,
Mubashir
_mubashir is offline   Reply With Quote
 
Enter the iPhone App Challenge!  Win $500!
» Advertisements
» Online Users: 285
22 members and 263 guests
Aaronkwok963, alexy, bensj, bravetarget, BSDimwit, Chilibird, CHV, dre, Gudus, jamison, KyleTomson, LemonMeringue, mer, punknine, ronm3xico, sindhutiwari, SirGeraint, smasher, VMan, ybrikeeg, zhz, _nivek
Most users ever online was 779, 05-11-2009 at 09:55 AM.
» Stats
Members: 24,225
Threads: 39,002
Posts: 171,083
Top Poster: smasher (2,570)
Welcome to our newest member, Aaronkwok963
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 12:24 AM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.