2016-03-26 17 views
2

Aşağıda, tablomun kodu gösteriliyorView, definition'in önceki değerle çakıştığını söyleyen cellForRowAtIndexPath işlev bildiriminde bir hata var. Bir önceki yığın taşması sorusu, UITableViewCell işlevinin isteğe bağlı bir değer olarak döndürülmesini sağlayan bir çözüme sahiptir, ancak bu benim için hatayı düzeltmez. Ayrıca viewController UITableViewDataSource protokolüne uymayan bir hata var, ama bunun cellForRowAtIndexPath yöntemindeki hata nedeniyle olduğunu varsayalım.Swift cellForRowAtIndexPath tanımı önceki değerle çakışıyor

Bir tablo için benzer bir kodum var, ancak bu bir ay önce Xcode'u güncellemeden önce yazılmıştı. Belki son zamanlarda hızlı bir değişim, hataya neden oluyor?

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

     return 1 

    } 


    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell? { 

     let cellIdentifier = "tableViewCell" 

     let newCell : TableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as! TableViewCell 


     newCell.heading.text = names[indexPath.row] 

     return newCell 


    } 
+0

gerçek Sorun, tanımladığınız işlev UITableViewCell döndürüyor mu? ve UITableViewCell dönmelidir. Kaldır ? dönüş türünden. – ryantxr

+0

Evet, denedim mi? ama hala hata alıyorum – ray

+0

Olmadan? kesinlikle doğru yoldur. – ryantxr

cevap

2

deneyin böyle bir sınıf uzantısı kaynağınız yöntemleri yerleştirerek:

extension yourViewController: UITableViewDataSource { 
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // cellForRow stuff 
    } 

} 
+0

FYI, bu bir hack, sorun için bir çözüm değil. – PeejWeej

0

bu UITableViewController ise, yönteme geçersiz kılmayı eklemeniz gerekir:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
+0

UITableViewController değil düzenli bir denetleyici kullanıyorum, bu yüzden işe yaramaz. – ray

+0

Bu UIViewController bir alt sınıfı mı? Veya kendi sınıflarından biri mi? – PeejWeej

+0

Soruda gönderdiğim kodun tamamı, UIViewController'ın bir alt sınıfı olan ViewController adlı özel bir sınıf içinde. Önerinizi denediğimde, geçersiz kılma yalnızca sınıf üyelerinde belirtilebileceğini söylüyor. – ray

İlgili konular