iOS:释放NSString对象,该对象从sqlite数据库读取数据
我有一个从sqlite数据库读取内容的应用程序,每次单击按钮后都会在按钮中显示内容iOS:释放NSString对象,该对象从sqlite数据库读取数据,ios,database,release,Ios,Database,Release,我有一个从sqlite数据库读取内容的应用程序,每次单击按钮后都会在按钮中显示内容 NSString *data; query = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE ID=%d",TABLENAME,tempIndex]; sqlite3_prepare_v2(contactDB,[query UTF8String],-1,&statement,NULL); sqlite3_step(statement
NSString *data;
query = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE ID=%d",TABLENAME,tempIndex];
sqlite3_prepare_v2(contactDB,[query UTF8String],-1,&statement,NULL);
sqlite3_step(statement);
data = [[NSString alloc] initWithUTF8String:(const char *)sqlite3_column_text(statement, 2)];
sqlite3_finalize(statement);
[myButton setTitle:data forState:UIControlStateNormal];
[data release];
但是,按钮中从未显示数据,并且有一个错误提示:
Error loading /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn: dlopen(/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn, 262): Symbol not found: _CFXMLNodeGetInfoPtr
如果我不发布数据,应用程序运行正常这是一种非常奇怪的行为,我很想了解它的真相。但现在,请自动释放数据字符串
data=[[NSString alloc]initWithUTF8String:(const char*)sqlite3\u column\u text(语句,2)]自动释放]要清楚,如果删除释放(代码的最后一行),按钮将显示标题,并且没有消息记录到控制台?是的,如果我没有该行
[数据释放]
,代码运行良好如果执行自动释放会发生什么?我现在就尝试,以前从未尝试过自动释放。顺便说一句,在我的情况下如何进行自动释放?data=[[NSString alloc]initWithUTF8String:(const char*)sqlite3_column_text(语句,2)]自动释放]代码>适合我。它能保证释放数据对象吗?我也找不到这个bug,但至少你的bug现在解决了我的问题。如果有时间,我会尝试调试它。我喜欢这个问题,所以会关注任何新的发展。很高兴我能帮忙。