从存储在iPhone App的Blob数据类型中的sqlite中检索nsdata

ios*_*ios 1 sqlite iphone blob objective-c nsdata

在iPhone App中如何存储UIImage转换为NSData到BLOB数据类型的sqlite表?是否需要任何类型的绑定(NSData- > Blob)?

要么

NSData以sqlite Blob数据类型检索以表单形式存储的图像时,我是否需要执行任何任务来将blob数据类型中存储的数据库转换回NSData形式?

请帮助和建议.

Evg*_*nov 9

我使用过这样的东西:

// prepare sqlite3 statement before this line
int res = sqlite3_step(stmt);
if (res == SQLITE_ROW) {
    const void *ptr = sqlite3_column_blob(stmt, 0);
    int size = sqlite3_column_bytes(stmt, 0);
    data = [[NSData alloc] initWithBytes:ptr length:size];
    sqlite3_reset(stmt);

    return [data autorelease];
} 
sqlite3_reset(stmt);
Run Code Online (Sandbox Code Playgroud)

为了保存为blob,您可以使用[data bytes]和提取NSData的指针和大小[data length].然后绑定到您的BLOB行

sqlite3_bind_blob (stmt, 2, [data bytes], [data length], SQLITE_TRANSIENT);
Run Code Online (Sandbox Code Playgroud)