当前位置:  开发笔记 > 数据库 > 正文

iPhone stringWithCString已弃用

如何解决《iPhonestringWithCString已弃用》经验,为你挑选了2个好方法。

我使用此代码从sqlite数据库中读取数据:

keyFromSql = [NSString stringWithCString:(char *)sqlite3_column_text(preparedStatement, 1)];

但是编译器给了我在标题中写的警告......那么,从sqlite中检索值的正确而不是弃用的方法是什么?

谢谢!



1> 小智..:
+(id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc

我想你通常会使用NSUTF8StringEncoding,所以你的代码看起来像

keyFromSq1 = [NSString stringWithCString:(char *)sqlite3_column_text(preparedStatement, 1) encoding:NSUTF8StringEncoding];

或者你可以使用

keyFromSq1 = [NSString stringWithUTF8String:(char *)sqlite3_column_text(preparedStatement, 1)];



2> kennytm..:

由于SQLite始终返回UTF-8*编码的字符串,您可以使用+stringWithUTF8String:.

const char* res = (const char*)sqlite3_column_text(preparedStatement, 1);
keyFromSql = [NSString stringWithUTF8String:res];

(*或UTF-16,如果您使用sqlite3_column_text16)

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有