2016-10-05 2 views
3

で呼び出さ取得されていない私は表ビューnumberOfSections方法がswift3

numberOfSections

を実装しているが、それが呼び出されることはありませんです。アプリの機能のfine.For変更作業の迅速な3変換コードを持っていますなぜ私は理解できませんでしたか?私のコントローラはUIViewControllerであり、StoryboardからTableViewが追加されています。 TableViewデータソースは、現在のビューコントローラに接続されています。私は

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 

のように呼ばれる他のデータソースのメソッドを取得しますが

func numberOfSections(in tableView: UITableView) -> Int{ 
     return 3 
} 
+0

'override func numberOfSections ...'のように 'override'キーワードを追加しましたか? –

+0

MyClassはUIViewControllerのサブクラスで、テーブルビューのdatasourceをクラスに設定しているため、オーバーライドを書く必要はありません@MichaelDautermann –

+0

@MichaelDautermannが述べたように...「オーバーライド」があることを確認してください。私はObjective-Cが恋しい。 –

答えて

2

呼び出されることはありませんしていますあなたは、あなたがのtableViewのデータソースを設定するが、念ので、同じよう再度、あなたのコードに再設定してみてくださいにすると言いました:

override func viewDidLoad() { 
    super.viewDidLoad() 

    tableView.delegate = self 
    tableView.dataSource = self 
} 
+0

あなたの答えは正しいと思われますが、私は理由が分かりません。理由やリンゴが何か変わったかどうかチェックしています! –

+0

は、ストーリーボードのtableViewとViewControllerのdelegateとdataSourceの接続を正しく設定していないようです。そうでない場合は、上記のコードを実装する必要はありません。 – Wilson

2

代わりのようにそれをやって:

func numberOfSections(in tableView: UITableView) -> Int 

このようにそれを実行してください:私はちょうど同じ問題に遭遇した

func numberOfSectionsInTableView(_ tableView: UITableView) -> Int 
+0

swift 3しないで最後のケース( – djdance

1

。私のクラスにUICollectionViewDelegate、UICollectionViewDataSourceを追加すると、問題が直ちに解決しました。コンパイラは、欠落していたものを正確に伝えました。

SwiftのUICollectionViewのように見えるのは、 -基礎。たとえば、「numberOfSections」の実装は完全にうまくいきましたが、適合宣言なしでは呼び出されませんでした。

関連する問題