首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何修复无法使用类型'(DispatchTime,Int64)'的参数列表调用类型'dispatch_time_t'的初始值设定项

如何修复无法使用类型'(DispatchTime,Int64)'的参数列表调用类型'dispatch_time_t'的初始值设定项
EN

Stack Overflow用户
提问于 2019-04-15 03:25:25
回答 1查看 0关注 0票数 0

这个问题在这里已有答案:

  • 如何在Swift 3和4中编写dispatch_after GCD? 12个答案

我正在研究一个基于Swift 2的旧教程,这是一个单词匹配(anagram)游戏,以了解有关Swift的更多信息(https://www.raywenderlich.com/2185-how-to-make-a-letter-word -game-with-uikit-and-swift-part-3-3)我遇到了一个问题,当写代码试图使用Grand Central Dispatch(GCD)调度一些块对象来禁用发射器时从超级视图中删除它。错误消息:

无法使用类型'(DispatchTime,Int64)'的参数列表调用类型'dispatch_time_t'的初始值设定项

由于来自教程中的代码是在夫特2,我试图一些语法转换为夫特4.2(例如:DISPATCH_TIME_NOWDispatchTime.now())。然而,我然后遇到其他错误导致了本之一。

这是本教程的原始代码。它在一个名为的覆盖函数中didMoveToSuperview()

代码语言:javascript
复制
//disable the emitter
var delay = Int64(0.1 * Double(NSEC_PER_SEC))
var delayTime = dispatch_time(DISPATCH_TIME_NOW, delay)
dispatch_after(delayTime, dispatch_get_main_queue()) {
    self.disableEmitterCell()
}

//remove explosion view
delay = Int64(2 * Double(NSEC_PER_SEC))
delayTime = dispatch_time(DISPATCH_TIME_NOW, delay)
dispatch_after(delayTime, dispatch_get_main_queue()) {
    self.removeFromSuperview()
}

这就是我试图做的事情:

代码语言:javascript
复制
//disable the emitter

var delay = Int64(0.1 * Double(NSEC_PER_SEC))
var delayTime = dispatch_time_t(DispatchTime.now(), delay)
dispatch_after(delayTime, dispatch_get_main_queue()) {
    self.disableEmitterCell()
}

//remove explosion view
delay = Int64(2 * Double(NSEC_PER_SEC))
delayTime = dispatch_time_t(DispatchTime.now(), delay)
dispatch_after(delayTime, dispatch_get_main_queue()) {
    self.removeFromSuperview()
}

这是教学页面之外的内容:https//www.raywenderlich.com/2185-how-to-make-a-letter-word-game-with-uikit-and-swift-part-3-3

在这里,您使用Grand Central Dispatch调度块以禁用发射器并将其从超级视图中删除。首先,您计划延迟1/10秒以禁用发射器,并在延迟2秒后,再次调用以从其父级中删除爆炸视图。为什么不删除视图?

EN

回答 1

Stack Overflow用户

发布于 2019-04-15 13:20:32

使用我的delay实用工具方法,然后你可以重写为

代码语言:javascript
复制
delay(0.1) {
    self.disableEmitterCell()
}

代码语言:javascript
复制
delay(2) {
    self.removeFromSuperview()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档