![](/img/trans.png)
[英]Swift - How to Pass Data From UITableViewCell Class to UIViewController
[英]How to pass UIViewController to another class in Swift?
如何將UIViewController傳遞給Swift中的另一個類? 我有SomeViewController
類:
class RidingViewController: UIViewController {
fileprivate let header = RidingViewHeader(controller: self)
override func viewDidLoad() {
super.viewDidLoad()
header.setNavigationBar()
}
...
}
我想分離一些代碼,並在另一個類中設置其標頭。 我已經創建了這個課程
class RidingViewHeader {
var controller: UIViewController
let navigationBar= UINavigationBar()
let navigationItem = UINavigationItem()
init(controller: UIViewController) {
self.controller = controller
}
...
}
在這種情況下,我得到一個錯誤: Cannot convert value of type '(NSObject) -> () -> UIViewController' to expected argument type 'UIViewController'
有什么更好的方法呢?
在初始化視圖控制器之前,您無法訪問self
。 您可以將其設置為惰性變量:
fileprivate lazy var header: RidingViewHeader = {
return RidingViewHeader(controller: self)
}()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.