Вы получаете предупреждение, поскольку игнорируете const. API определен:
const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
Вы назначаете возврат на символ *, поэтому вы отбрасываете const. Вот почему вы получаете предупреждение. Вы должны уважать const.
const unsigned char *isNil = ...
Я на самом деле не большой парень с объективной целью, но я считаю стилистически обычной практикой сравнивать примитивные типы с NULL, а не с nil. Также нет необходимости дважды вызывать column_text.
const char *columnText = (const char *)sqlite3_column_text(selectstmt, 2);
if(columnText != NULL)
{
myName = [NSString stringWithUTF8String: columnText ];
}
Вы можете видеть выше, что я привел константный беззнаковый указатель на символ с константным указателем на символ. Вы должны убедиться, что знаете, когда отбрасываете предупреждение, что это правильно. В этом случае безопасно привести к подписанному символу. В общем, никогда не отбрасывайте const, поскольку тот, кто создал этот API, мог бы делать что-то, что требует от вас обработки данных как const.