NSString上的EXC_BAD_ACCESS,当应用程序从后台[4.0 OS]上转到前台时

时间:2010-09-09 09:49:42

标签: iphone

目前,我的应用程序在从后台[4.0 OS]上将应用程序带到前台后,在访问NSString时崩溃了。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

iDatabasePath  = [documentsDirectory stringByAppendingPathComponent:KApp_DB_Name]; 

iDatabasePath声明为NSString *并且是全局声明的。

当我将应用程序移至后台并在调用

时将其置于前台
 iDatabasePath  = [documentsDirectory stringByAppendingPathComponent:KApp_DB_Name]; 

由于EXC_BAD_ACCESS到iDatabasePath而导致应用程序崩溃,这种情况发生在4.0 OS上

请帮我解决这个问题。

谢谢,

Sagar的

2 个答案:

答案 0 :(得分:0)

你需要保留它......

[iDatabasePath retain]某处 - 可能是applicationDidEnterBackground

答案 1 :(得分:0)

那么哪一行是错误的?如果它在你说的那一行,看起来documentsDirectory会被释放,而不是iDatabasePath,你试图保留iDatabasePath吗?