使用SQLite3 API时Xcode内存泄漏

| 我正在使用以下代码片段向Sqlite3数据库添加具有名称的新元素/行,一切正常,但是每次我调用此函数时,这都会导致内存泄漏,有人可以帮助我如何避免此问题?
{

    sqlite3 *database;

sqlite3_stmt *addStmt;
    NSString *localdescription=@\"Enter your Notes here\";

if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
{
    const char *sql = \"insert into database(name) Values(?)\";
    if(sqlite3_prepare_v2(database, sql, -1, &addStmt, NULL) == SQLITE_OK)
    {

    sqlite3_bind_text(addStmt, 1, [localName UTF8String], -1, SQLITE_TRANSIENT);


    if(SQLITE_DONE != sqlite3_step(addStmt))
        NSAssert1(0, @\"Error while inserting data. \'%s\'\", sqlite3_errmsg(database));
    else
        //SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
        NSLog(@\"id=====%d\",sqlite3_last_insert_rowid(database));

    //Reset the add statement.
    sqlite3_reset(addStmt);


    }

        }
    sqlite3_close(database);
}
    
已邀请:
您应该敲定不再使用的任何准备好的语句:
sqlite3_finalize(addStmt), addStmt = nil;
真的没有必要将指针设置为nil,就像我真正喜欢的那样。     

要回复问题请先登录注册