Ho una sottoclasse NameInput
UITableViewCell
che si collega a uno xib con un metodo personalizzato init
.Sottoclasse UITableViewCell con XIB Swift
class NameInput: UITableViewCell {
class func make(label: String, placeholder: String) -> NameInput {
let input = NSBundle.mainBundle().loadNibNamed("NameInput", owner: nil, options: nil)[0] as NameInput
input.label.text = label
input.valueField.placeholder = placeholder
input.valueField.autocapitalizationType = .Words
return input
}
}
C'è un modo per inizializzare questa cella nel metodo viewDidLoad
ed ancora riutilizzarlo? O devo registrare la classe stessa con un identificativo di riutilizzo?
Okay in sostanza ho un sacco di pennini diversi con sottoclassi di celle diverse. Nella cella per riga con il metodo dell'indice, come dovrei fare per trattare le diverse sottoclassi? Ognuno di essi ha campi diversi e così via. – jamespick
Ok, supponiamo che avrai 50 righe, ma che esistono, diciamo, tre tipi base di configurazioni di celle. Quindi registra solo quei tre NIB/XIB, ognuno con il proprio identificativo di riutilizzo. Quindi 'cellForRowAtIndexPath', in base a' row' e 'section' di' NSIndexPath', deseleziona l'identificatore di cella appropriato per il tipo di cella, quindi popola i campi come appropriato. – Rob
FWIW, in realtà penso che lavorare con i prototipi di celle negli storyboard sia un po 'più semplice. Non hai a che fare con file NIB disparati e tutto è proprio lì.Ma usa quello con cui ti senti più a tuo agio. – Rob