试着用Swift、Can'捕捉;我想不出来
我试图将以下内容放入do-try-catch块中,但最终总是出现编码错误。有人能帮我吗试着用Swift、Can'捕捉;我想不出来,swift,try-catch,do-catch,Swift,Try Catch,Do Catch,我试图将以下内容放入do-try-catch块中,但最终总是出现编码错误。有人能帮我吗 let here = CGRect(x: UIScreen.main.bounds.width - 30, y: 80, width: 10, height: 10) DispatchQueue.main.asyncAfter(deadline: .now() + 2) { let popTip = PopTip() popTip.show(t
let here = CGRect(x: UIScreen.main.bounds.width - 30, y: 80, width: 10, height: 10)
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
let popTip = PopTip()
popTip.show(text: "Font Sizes", direction: .down, maxWidth: 200, in: (self.navigationController?.view)! , from: here, duration: 3)
}
您的问题是,您没有实际抛出错误的内容(即标记为
try
)。我无法完全理解您在评论中所说的话,但是我相信您可以在不使用do catch
子句的情况下解决这个问题,但使用警卫让语句检查self.navigationController.view
是否为nil
,如果为nil
,只需返回
函数。只能捕获抛出
的API。正确处理可选项。我在popTip.Show行中得到一个错误。这是因为navigationController由于调度而不可用,并且用户在异步任务执行之前在延迟3秒后移动到另一个控制器。那我该怎么办呢?很抱歉给你添麻烦了。我花了好几个小时想弄明白。我终于放弃了,这很有魅力。我大部分是自学成才的程序员,但我的成功归功于StackOverflow上的合作程序员。非常感谢。帮助像我这样自学成才的程序员总是一件很高兴的事!!