封闭中隐式使用“自我”;使用“自我”。在Swift中明确显示捕获语义

时间:2019-12-10 23:06:45

标签: ios swift xcode

我试图从视线控制器移到视线控制器,而没有安全,所以我尝试了以下代码:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = self.storyboard?.instantiateViewController(withIdentifier: "NewsDetailsVCID") as! NewsViewController
present(vc, animated: true, completion: nil)

但是我收到此错误:

  

'隐式使用'self'结束;使用“自我”。使捕获语义更明确'

2 个答案:

答案 0 :(得分:1)

就像其他人所说的那样,做它所说的。 代替:

present(vc, animated: true, completion: nil)

添加自我得到:

self.present(vc, animated: true, completion: nil)

答案 1 :(得分:1)

您正在闭包内部实现此代码,因此需要使用self.来明确表示捕获。只需更改:

present(vc, animated: true, completed: nil)

self.present(vc, animated: true, completed: nil)