ios - EXC_BAD_ACCESS 和 stringByAppendingString

标签 ios sqlite nsstring exc-bad-access

在使用 DataHelper 类中定义的以下函数返回的值设置标签时获取 EXC_BAD_ACCESS(所有数据库处理均在此处完成):

+(NSString *)getCurrentBalanceAndType:(NSString *)account
{
    sqlite3_stmt *statement=NULL;
    float bal=0;
    NSString *type=NULL, *balance_type=NULL;
    //String decimalFormat="%.2f";
    statement = [DataHelper getDetailsFromAccountBal:account:[DataHelper currentMonth]];
    if (sqlite3_step(statement) == SQLITE_ROW)
    {
        bal = sqlite3_column_double(statement,2);
        type = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
    } 
    sqlite3_finalize(statement);

    NSString *stringBal=[NSString stringWithFormat:@"%.2f", bal];
    type=[[type uppercaseString] stringByAppendingString:@"r"];
    balance_type=[[stringBal stringByAppendingString:@" "]stringByAppendingString:type];
    [type release];
    return balance_type;
}

这就是我在 viewDidLoad 中设置标签的方式:

 lbCreditCurrBal.text=[DataHelper getCurrentBalanceAndType:@"Some Text"];

请帮忙。

最佳答案

您过度释放了 type。删除 [type release];。并使用 ARC 来避免这种错误。

关于ios - EXC_BAD_ACCESS 和 stringByAppendingString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034821/

相关文章:

ios - 在 Swift 中使用泛型进行类型推断

iphone - sqlite3_prepare_v2失败(Xcode sqlite 3)

r - 如何最有效地从大型 SQLite 数据库中提取数据?

ios - Swift:如何拆分字符串然后提取特定的子字符串?

iphone - 将特定符号从 json 转换为普通 utf-8

ios - 如何在 Gallery App IOS 中显示文档目录中的图像?

iOS popToRootViewControllerAnimated 无法处理委托(delegate)方法

ios - 无法确定 CoreData 代码生成的生成文件路径

android - Cursor Adapter 的用途是什么?

ios - 将 setPredicate 的结果保存到 NSString