使用let _ = ...
有什么用吗?
我已经看到了有关SwiftReferences中的_下划线代表什么的问题和答案。而且我知道下划线可以用来表示不需要的变量。
如果我只需要一个元组的值,如上面链接中的示例所示,这将很有意义:
let (result, _) = someFunctionThatReturnsATuple()
但是,我最近遇到了以下代码:
do {
let _ = try DB.run( table.create(ifNotExists: true) {t in
t.column(teamId, primaryKey: true)
t.column(city)
t.column(nickName)
t.column(abbreviation)
})
} catch _ {
// Error throw if table already exists
}
如果仅删除,则不会收到任何编译器警告或错误let _ =
。在我看来,这更简单易读。
try DB.run( table.create(ifNotExists: true) {t in
t.column(teamId, primaryKey: true)
t.column(city)
t.column(nickName)
t.column(abbreviation)
})
该代码的作者写了一本关于Swift的书和一个博客。我知道作者并不是万无一失,但是这让我想知道我是否缺少某些东西。
问题内容: 在预发布文档中,似乎没有Swift版本的CGPathApply。是否有同等的或替代的?我正在尝试获取CGPath的所有子路径,以便可以从其他起点重绘它。 问题答案: 斯威夫特3.0 在Swift 3.0中,您可以这样使用: 斯威夫特2.2 通过添加,您现在可以直接从Swift进行调用。这是做必要魔术的包装器: (请注意,我的代码中没有提到,但是在Core Graphics模块的声明中使
我试图检查我收到的新数据对我持有的对象,我试图找出的是,如果他们的关键字的对象,我正在发送匹配的任何关键字的对象,我目前有。 所以我抓着一个物体就像 然后我收到一个单件物品 我想检查这个对象与对象数组(myObj),看看是否有任何东西与关键字“三”在里面(我不关心值,只是关键字匹配),所以我可以把它弹出到一个if语句分开就像- 我使用下划线。谢谢 编辑:对不起,这不清楚,我编辑它是为了澄清- 我握
问题内容: 我正在尝试查询Firebase,以检查是否有任何用户,然后在返回快照时,我想查看它是否等于nil。我尝试执行此操作,但是我使用的方法不起作用,并且如果快照不等于nil,则只有某种输出。我添加了当前拥有的代码和Firebase中的JSON文本。 JSON数据: 问题答案: 这里发生了几件事,但是最重要的是,您无法测试患儿的存在。如果您考虑一下,那是有道理的:当将一个孩子添加到该位置时,将
我正在尝试让我的GUI在图形中最近更新后等待2秒。这意味着在我使用后: 我希望GUI在进行进一步计算之前等待,然后再次绘制它们。 代码: 但是当我运行它时-首先它执行最后两行,然后等待2秒... 老实说,我对线程和JavaSwing的了解并不是最好的(尤其是当我试图从甲骨文网站上读到的了解Swing工人时),所以如果答案详细,我将不胜感激。 谢谢
我有两个时间线运行在一个函数中,它们都影响一个对象,问题是当我玩第一个时间线时,其他时间线也开始在下一行代码中,我怎么能等到第一个时间线结束再玩另一个时间线呢?
问题内容: 如果我想分配一个char数组(用C表示),该数组保证足够大以容纳任何有效的绝对路径名和文件名,那么它需要多大。 在Win32上,有MAX_PATH定义。Unix / linux相当于什么? 问题答案: 有一个,但是有点问题。从realpath(3)手册页的bug部分中: 此功能的POSIX.1-2001标准版本在设计上已被破坏,因为无法确定输出缓冲区 resolve_path 的合适大