Swift3 使用SQLite.swift删除打印或数据选项()
如何删除打印中的或数据可选()?(swift3,xcode 8.2.1) //结果打印: [可选(1)、可选(“约翰”)、可选(“做”)、可选(“波隆”)]Swift3 使用SQLite.swift删除打印或数据选项(),swift3,sqlite.swift,Swift3,Sqlite.swift,如何删除打印中的或数据可选()?(swift3,xcode 8.2.1) //结果打印: [可选(1)、可选(“约翰”)、可选(“做”)、可选(“波隆”)] 非常感谢各位如果您想遍历集合的可选元素,您可以使用进行case。。。在循环中,的一个变体,用于。。。在循环中。这允许您有选择地将作为非可选项传递的每个元素绑定到循环的作用域,前提是该元素不是nil 例如: 我没有时间给出完整的答案,但让我链接到慷慨的Ole Begemann的一篇博文:这是关于输出中的“可选(…)”。哦,还要知道数据的类型。
非常感谢各位如果您想遍历集合的可选元素,您可以使用
进行case。。。在
循环中,的一个变体,用于。。。在
循环中。这允许您有选择地将作为非可选项传递的每个元素绑定到循环的作用域,前提是该元素不是nil
例如:
我没有时间给出完整的答案,但让我链接到慷慨的Ole Begemann的一篇博文:这是关于输出中的“可选(…)”。哦,还要知道
数据的类型。我猜是[Any?]
,但是你应该确定一下,并理解它的意思。旁注:很抱歉你不得不离开GRDB.swift。对于像您这样编写SQL的人来说,GRDB更容易。SQLite.swift使处理原始SQL查询的结果变得不太容易(如您所见)。使用GRDB,print(row)
prints
。更容易阅读。要提取名字,您需要编写让firstName:String=row.value(“firstName”)
。对于SQLite.swift,我甚至不知道你是如何得到名字的(事实并非如此,或者更准确地说,文档清楚地表明这将是痛苦的)。谢谢你,我知道你在担心:)SQLite.swift在某些方面不是很有文档记录的。我会阅读你的链接,看看我能理解什么。否则,我会使用GRDB.swift,这确实更方便!谢谢你,但我刚刚测试过,我有一个编译错误。
let statement = try connection.prepare("SELECT * FROM persons")
for data in statement
{
print(data)
}
let statement: [Any?] = [1, "John", "Doe", "Pologne"]
for case let data? in statement {
print(data)
} /* 1
John
Doe
Pologne */