2014-06-13 4 views

답변

3

프로토콜 적합성을 지정하는 적절한 방법이 아닙니다. 이것은 올바른 구문입니다. 오류가 계속 표시되는 경우 수업이 경우, numberOfRowsInSection .... 그리고 cellForRowAtIndexPath에,이 대표에서 필요한 메소드를 구현하지 않기 때문에

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 
    // stuff 
} 

, 그것은

+0

안녕, 업데이트 된 이미지를 확인하시기 바랍니다. 또한 동일한 오류가 발생합니다. – Rajesh

+0

@ Rahul 다른 이유가 있습니다. 제가 여러분에게 보여준 것은 클래스가 프로토콜을 준수하도록하는 올바른 방법입니다 만, 이제 클래스가 위임자의 필수 메소드 (이 경우 numberOfRowsInSection ...)를 구현하지 않기 때문에 오류가 표시됩니다. . 및 cellForRowAtIndexPath .... –

+0

제안에 감사드립니다. 하지만 먼저 우리는 방법을 사용할 수있는 프로토콜을 상속받습니다. 프로토콜을 확인하기 전에 위임 방법에 액세스 할 수 있습니까? – Rajesh

2

....입니다 내가 프로토콜을 준수하기위한 클래스 확장을 사용하는 것이 좋습니다 것입니다, 당신의 클래스가 성장했을 때 분리 그런 종류의 예처럼, 나중에 코드를 더 유지 보수합니다 :

class MainViewController: UIViewController { 

    // ... 

} 

당신은 프로토콜을 확장 할 수 있습니다

extension MainViewController: UITableViewDataSource { 

    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int { 
     return 0 
    } 

    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { 
     return nil 
    } 

    // ... 

} 

extension MainViewController: UITableViewDelegate { 

    // ... 

} 
+0

하지만이 경우 tableview.delegate = self를 어디에 설정해야합니까? – Maria

+0

귀하의 콘센트를 어디에서 선언했는지에 따라 다릅니다. – holex