Больше комментариев, чем ответов, так как я пока не вижу, как у вас течет память (пока недостаточно комментариев).Как вы наблюдаете, что есть утечка памяти?Можете ли вы увидеть, что находится внутри объекта, который просочился, и проследить его трассировку стека выделения, чтобы увидеть, что это такое?
Также вы можете предоставить объявление для sqlRawStrings?
В качестве отступления,Я думаю, что способ, которым вы строите свои строки, может быть улучшен.Рассмотрите возможность использования sprintf.Вы также можете рассмотреть возможность использования файла .mm вместо .m, и тогда вы получите возможность C ++;класс std :: string может вам помочь.
Наконец, не закрывайте что-либо, если вы не открыли его успешно, т.е. "sqlite3_close" должен находиться в том же блоке, что и sqlite3_exec.
'надеюсь, что это полезно.