2016-08-23 5 views
0

iPad 앱의 마스터 (왼쪽) 및 세부 (오른쪽)보기가있는 SplitView가 있습니다. 마스터보기의 단추를 클릭하면이 호출은 부모 분할보기에서 메서드를 위임하고 새보기 o를 맨 위로 밀어 넣지 만 대리자 메서드는 호출되지 않습니다. 왜?Delegate가 SplitView에서 작동하지 않습니다.

마스터보기 :

protocol newAlbumDelegate{ 
    func openAlbum() 
} 
class newAlbumController: UIViewController { 
    var delegate:newAlbumDelegate? 

    @IBAction func buttonClick(sender:UIButton){ 
     delegate?.openAlbum() 
    } 
} 

SplitView : 여기에 코드

import UIKit 

class AlbumSplitController: UISplitViewController, newAlbunDelegate { 

    var newAlbumToAdd:newAlbumController = newAlbumController() 

    //Delegate 
    func openAlbum(){ 
     print("Do something") 
    } 

    override func viewDidLoad(){ 
     super.viewDidLoad() 
     self.newAlbumToAdd.delegate = self 
    } 

어떤 도움?

감사의 masterViewController

+0

내가 오류가 내가 만드는거야 있다는 것입니다 생각을 새 마스터보기,하지만 SplitView 만든 마스터보기 얻을 필요가 ??? – amelian

+0

가독성을 위해이 질문에서 오타를 수정할 수 있습니다 : splitView의 "newAlbunDelegate" – Shades

답변

0

이 대리자로 splitViewController 지정 :

protocol newAlbumDelegate{ 
    func openAlbum() 
} 
class newAlbumController: UIViewController { 
    var delegate:newAlbumDelegate? 

    @IBAction func buttonClick(sender:UIButton){ 
     delegate?.openAlbum() 
    } 

    override func viewDidLoad(){ 
     super.viewDidLoad() 
     let splitView = self.splitViewController as! AlbumSplitController 
     self.delegate = splitView 
    } 
} 

귀하의 splitViewController가된다 :

class AlbumSplitController: UISplitViewController, newAlbumDelegate { 

    //Delegate 
    func openAlbum(){ 
     print("Do something") 
    } 
}