【问题标题】:[NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,0)];[NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,0)];
【发布时间】:2010-10-15 19:16:07
【问题描述】:

我正在使用 sqlite

我正在以这种方式获得一个返回值 frmo DB

returnCount = [NSString  stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,0)];

但是返回值是一个整数值。 我怎样才能得到一个 int 值而不是把它放在字符串中......就像这里的这个东西

[NSString  stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,0)];

是字符串,有什么办法可以马上把它变成“整数”,否则我需要转换它。

请提出建议。

【问题讨论】:

  • 在以后发到 SO 的时候,请在代码块的每一行前放四个空格,并用反引号包围内联代码片段。这使得代码示例更具可读性。详情请见Stack Overflow Markdown Editing Help

标签: iphone sqlite nsstring nsnumber


【解决方案1】:

最简单的答案,因为您似乎知道它将是一个整数计数,请将其读取为带有 sqlite3_column_int() 的 int。

也就是说,您可能希望在加入 FMDB 后重构您的代码。从整数或浮点列中提取数据时,FMDB 将为您进行转换。在您的情况下,SELECT count(*) FROM myTable... 的结果将是一个整数类型的单列,[resultSet valueForkey:@"count"] 将是 NSNumber,正如预期的那样。

【讨论】:

  • .."sqlite3_column_int()." dat 为我工作...感谢很多人
  • 公平地说,最简单的方法就是使用 Core Data。 ;)
  • @bbum,是的,Core Data 很棒,但这不是问题所在。
  • 有时会有一个答案和一个元答案。元答案是让刚接触平台和/或刚接触 SQLite 的人停止浪费时间而只使用 Core Data。在项目的整个生命周期中,它将需要更少的工程工作。有正当理由不这样做,但它们很少而且相差甚远。
猜你喜欢
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多