어떻게 우리 클래스에서 UITableViewDataSource 프로토콜을 상속받을 수 있습니까?
내 응용 프로그램에서 테이블보기를 사용하고 싶습니다. 하지만 UITableViewDataSource 내보기 컨트롤러를 확인할 때 이미지에 표시된 오류를 제공합니다. 우리 클래스에서 UITableViewDataSource 프로토콜을 사용하는 법.
어떻게 우리 클래스에서 UITableViewDataSource 프로토콜을 상속받을 수 있습니까?
내 응용 프로그램에서 테이블보기를 사용하고 싶습니다. 하지만 UITableViewDataSource 내보기 컨트롤러를 확인할 때 이미지에 표시된 오류를 제공합니다. 우리 클래스에서 UITableViewDataSource 프로토콜을 사용하는 법.
프로토콜 적합성을 지정하는 적절한 방법이 아닙니다. 이것은 올바른 구문입니다. 오류가 계속 표시되는 경우 수업이 경우, numberOfRowsInSection .... 그리고 cellForRowAtIndexPath에,이 대표에서 필요한 메소드를 구현하지 않기 때문에
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
// stuff
}
, 그것은
....입니다 내가 프로토콜을 준수하기위한 클래스 확장을 사용하는 것이 좋습니다 것입니다, 당신의 클래스가 성장했을 때 분리 그런 종류의 예처럼, 나중에 코드를 더 유지 보수합니다 :
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 {
// ...
}
안녕, 업데이트 된 이미지를 확인하시기 바랍니다. 또한 동일한 오류가 발생합니다. – Rajesh
@ Rahul 다른 이유가 있습니다. 제가 여러분에게 보여준 것은 클래스가 프로토콜을 준수하도록하는 올바른 방법입니다 만, 이제 클래스가 위임자의 필수 메소드 (이 경우 numberOfRowsInSection ...)를 구현하지 않기 때문에 오류가 표시됩니다. . 및 cellForRowAtIndexPath .... –
제안에 감사드립니다. 하지만 먼저 우리는 방법을 사용할 수있는 프로토콜을 상속받습니다. 프로토콜을 확인하기 전에 위임 방법에 액세스 할 수 있습니까? – Rajesh