我有一個子視圖,它接管整個父視圖。我希望通過使用協議從父級調用方法將子級從父級中移除,但我的代表每次都是零。我下面添加我的樣本工作,如果你需要更多的信息,只是讓我知道我試圖從父母刪除孩子時,我們的代表爲零swift 3
protocol childDelegate: class {
func removeFromParent()
}
class ChildAction: UITableViewController {
@IBAction func btnRemove(_sender: Any){
if(delegate != nil){
self.delegate?.removeFromParent()
}
}
}
class ParentClass: UIViewController:childDelegate {
var delegate:childDelegate?
private ChildActionView:ChildAction{
let storyboard = UIStoryBoard(name: "Main", bundle: Bundle.main)
let viewC = storyboard.instantiateViewController(withIdentifier: "ChildAction") as! ChildAction
self.delegate = viewC as? childDelegate
self.addChildViewController(viewC)
return viewC
}
@IBAction func btnAddChild(_sender: Any){
addChild(child:ChildActionView)
}
func addChild(child: UIViewController){
self.addChildViewController(child)
view.addSubview(child.view)
child.didMove(toParentViewController: self)
}
func removeFromParent(){
//remove from parent
}
}
Child view controller parent view controller image
@DharmeshKheni我的代碼片段 –
下增加了兩個圖像刪除所有代碼的圖像。複製全部代碼 – Honey
@Honey你釘了它 –