Когда я использую UITableViewController для создания tableView, вы получаете много функций переопределения, но когда вы используете обычный UIViewController, вы получаете ошибку при использовании этих же функций переопределения, и вы вынуждены чтобы изменить их на обычные функции. Я считаю, поэтому мои основные данные не загружаются в мои ячейки и пытались использовать функцию viewDidLoad для загрузки моих данных.Swift - функции переопределения в UIViewController vs UITableViewController
Я знаю, что мой код должен работать, поскольку все, что я пытаюсь сделать, это передать весь мой код из UITableViewController в UIViewController, а мой код работал в моем UITableViewController.
Моих усилий до сих пор:
override func viewDidLoad() {
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Configure the cell...
let CellID:NSString = "CELL"
var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellID) as UITableViewCell
if let ip = indexPath as Optional {
var data:NSManagedObject = myList[ip.row] as NSManagedObject
cell.textLabel!.text = data.valueForKeyPath("username") as? String
}
return cell
}
}
ли функция переопределения причина мои клетки пусты, или есть другие аспекты при использовании регулярных UIViewController, чтобы показать Tableview?
Любые предложения будут оценены.
Я добавил UITableViewDelegate, так как я сказал, что приложение запускается, оно просто не заполняет таблицу. Я также пытался использовать функцию cellForRowAtIndexPath вне viewDidLoad, но это не сработало. Что касается установки делегата на «я», я не совсем уверен, что вы имеете в виду, поэтому я не могу ответить на это. Но, как я уже сказал, все, что я сделал, просто передал мой код из tableViewController в viewController, добавил UITableViewDelegate и удалил «переопределение» перед некоторыми функциями. – martin
@ frank21 1. Вам нужно «переопределить». Теперь, когда вы добавили UITableViewDelegate, попробуйте снова ввести функции делегата tableview. Они должны автозаполнять, чтобы включить переопределение. –
2. Вам нужно будет установить делегат tableview для себя, либо программно (например, 'self.tableView.delegate = self'), либо с помощью конструктора интерфейса, например: http://stackoverflow.com/a/19216613/2274694 –