У меня есть подкласс UITableViewCell
NameInput
, который подключается к xib с помощью настраиваемого метода init
.Подкласс UITableViewCell с 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
}
}
Есть ли способ, что я могу инициализировать эту ячейку в методе viewDidLoad
и до сих пор использовать его? Или мне нужно зарегистрировать сам класс с идентификатором повторного использования?
Хорошо, у меня есть много разных перьев с разными подклассами. В ячейке для строки с методом индексного пути, как бы я мог заняться различными подклассами? У каждого из них разные поля и таковые. – jamespick
Хорошо, допустим, у вас будет 50 строк, но есть, скажем, три основных типа конфигураций ячеек. Поэтому просто зарегистрируйте эти три NIB/XIB, каждый с собственным идентификатором повторного использования. Тогда 'cellForRowAtIndexPath' будет, основываясь на' row' и 'section'' NSIndexPath', деактивирует соответствующий идентификатор ячейки для типа ячейки, а затем заполнит поля соответствующим образом. – Rob
FWIW, я на самом деле думаю, что работа с прототипами сотовых в раскадровки немного проще. Вам не нужно иметь дело с разрозненными файлами NIB, и все тут.Но используйте то, с чем вам удобнее. – Rob