0

Xcode5 を使用して ios7 でコーディングしていますが、コンパイラでこのエラーが表示されます。

暗黙的な変換は、整数精度sqlite3_int64別名long longto を失いintます。

以下のコードの下:

if([self chatId] != nil) {
    [chatId release];
}
chatId = [[NSNumber alloc] initWithInt:sqlite3_last_insert_rowid(database)];
sqlite3_finalize(sqlStatement);

何か助けはありますか?

4

2 に答える 2

5

SQLite3 行 ID は、一意の 64 ビット符号付き整数です。これを試して:

chatId = [[NSNumber alloc] initWithLongLong:sqlite3_last_insert_rowid(database)];
于 2013-09-26T02:18:42.780 に答える
0

メソッド sqlite3_last_insert_rowid の実装を参照してください。これは long long int 値を返すため、
[NSNumber alloc] initWithLongLong: sqlite3_last_insert_rowid(database)];

SQLITE_API sqlite_int64 sqlite3_last_insert_rowid(sqlite3 *db){
  return db->lastRowid;
}
于 2013-09-26T02:20:09.867 に答える