0
我有一个内存管理问题我无法在iOS上找到我的头。我从SQLite数据库获取数据,其中一些单元格可能为空。因此,为了处理这种情况,我将[NSNull空]我的收件人如果为空,或者值如果不是:发布可以是[NSNull null]或不是的对象
NSString *email = (const char *) sqlite3_column_text(statement, 6) == NULL ? [NSNull null] : [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 6)];
但后来如果我这样做:
[email release];
分析仪不喜欢它,我认为当对象实际上是[NSNull null]时,它会崩溃我的程序。
所以我已经试过:
(id) email == [NSNull null] ? nil:[email release];
但它不工作(仍然崩溃和分析仪不喜欢它)。有任何想法吗?
在此先感谢
谢谢,零确实可以释放。然而,我发现你可以告诉SQLite将什么值放入一个空单元格,所以我只是选择了一个空字符串而不是C NULL。节省我一些代码! – chopchop