Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c FMDB,如何手动释放从stringForColumn创建的字符串_Objective C_Ios_Sqlite_Nsstring_Fmdb - Fatal编程技术网

Objective c FMDB,如何手动释放从stringForColumn创建的字符串

Objective c FMDB,如何手动释放从stringForColumn创建的字符串,objective-c,ios,sqlite,nsstring,fmdb,Objective C,Ios,Sqlite,Nsstring,Fmdb,我正在使用FMDB,iOS的SQLite包装 一般问题: 我正在从数据库中读取一个长字符串(Base64编码图像),然后将其发送到UIWebView进行显示。当我弹出存储该webview(带有图像)的视图控制器时,程序意外退出: ([Controller respondsToSelector:]发送到解除分配的实例…顺便说一句,我没有调用该方法) 这个错误是在我开始使用大字符串时出现的。。这之前从未发生过,这让我相信这可能与内存有关,并且字符串在发送到webview后没有在Objective-c

我正在使用FMDB,iOS的SQLite包装

一般问题:

我正在从数据库中读取一个长字符串(Base64编码图像),然后将其发送到UIWebView进行显示。当我弹出存储该webview(带有图像)的视图控制器时,程序意外退出:

([Controller respondsToSelector:]发送到解除分配的实例…顺便说一句,我没有调用该方法)

这个错误是在我开始使用大字符串时出现的。。这之前从未发生过,这让我相信这可能与内存有关,并且字符串在发送到webview后没有在Objective-c中释放

可能的解决方案

我想知道如何控制从FMDB的“stringForColumn”方法返回的字符串。在我看来,我永远不能对结果字符串调用release,因为我没有创建它

我非常确定,在将该字符串发送到webview之后,我需要直接从内存中转储该字符串(通过stringByEvaluatingJavaScriptFromString)

非常感谢您的任何想法,因为这对我来说是一个真正的表演障碍:(


谢谢!

如果您出于某种原因需要在内存中保留该字符串,您应该调用

yourString = [[db stringForColumn:@"foo"]retain];
从那时起,您就要对该字符串负责,并且应该在处理完该字符串后将其释放