1
UITableViewDelegate, UITableViewDataSource 30 bütünlük dosyasında kullanıyorum, hepsi aynı kodla, onları reuseble genişletmek için nasıl yapabilirim? sadece iki UITableViewDelegate yöntemi ve satır yüksekliği gibi bazı özel şeyler.UITableView nasıl genişletilebilir?
Örnek:
import UIKit
import MMDrawerController
import SwiftyJSON
class FooViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
var texto = [String]()
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
let load = Loader(view: self.view)
table.delegate = self
table.dataSource = self
table.rowHeight = UITableViewAutomaticDimension
table.estimatedRowHeight = 44.0
let api = API()
api.get("agenda") { responseObject, error in
let value = JSON(responseObject!)
self.texto.append(value["agenda"]["textoagenda"].stringValue)
self.table!.reloadData()
load.stop(self.view)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.texto.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell
cell.textLabel?.text = self.texto[indexPath.row]
return cell
}
}
Uzatma ile ne demek istiyorsun? Kodu yeniden kullanmak bir soru. Bir masa nasıl uzatılır başka bir soru. Ama "onları reuseble uzatarak nasıl uzatabilirim", ne anlama geldiği konusunda mistikleştiricidir. – Gruntcakes
Verilerinizin bir dizisini tutan ve dataSource yöntemlerini uygulayan UITableView'ın veri kaynağı olarak yeni bir Sınıf yaratabilirsiniz. Ancak UITableView'ı genişletmek için çağrılmaz. –
Tablodaki tüm kodları tek bir işlev/sınıf haline getirin –