2014-11-16 4 views
2

Я регистрация пользовательских ячейки из СИБА в TableViewControllerПередача параметров пользовательских UITableViewCell

tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "Cell") 

но мой CustomCell имеет методы IBAction, которым необходим доступ к самой Tableview и fetchedResultsController. Как передать эти параметры чистым способом в CustomCell?

Установка этих вещей в:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) { 
    return tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell 
} 

не кажется, чистый способ для меня ..?

+0

oo Вы правы, глупые меня :-( – NSCode

ответ

1

Клетка действительно ничего не должна знать о представлении таблицы или в файле fetchedResultsController. Один из способов сделать это - добавить свои действия в cellForRowAtIndexPath и сделать контроллер целевым.

Другим вариантом является наличие методов действия в пользовательском классе ячеек и их вызов методов методов делегирования, которые вы создаете в классе ячеек. Попросите контроллер установить себя как делегат в cellForRowAtIndexPath.

+0

Как это работает? Я ничего не понял. –

0

Вы можете выбрать класс, который отвечает за заказ сотовых IBAction например

  IBAction Func enterKeyButton (sender: AnyObject) { 
println(sender) 
     } 

и Tableview реализовать метод, и это путь причины medot Пользовательские ячейки

  func tableView (tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) { 
    let cell = tableView.dequeueReusableCellWithIdentifier ("Cell", forIndexPath: indexPath) as UITableViewCell 

cell.enterKeyButton ("hello") 

return cell 
} 

Я надеюсь, что помогли вам!

Смежные вопросы