Попытка установить свойство внутри UIView до вызова awakeFromNib

Я новичок в Swift - у меня есть 2 viewcontrollers и переход между ними. Я пытаюсь установить свойство внутри представления до его загрузки. так что это часть кода из моего uiview -

class ListUsersView: UIView {

  @IBOutlet var tableView: UITableView!  
  var dataSource: ListsUserDataSource?
  var nameForCellNib: String?

  override func awakeFromNib() {
      self.tableView.registerNib(UINib(nibName: nameForCellNib! , 
      bundle:NSBundle.mainBundle()), forCellReuseIdentifier: nameForCellNib!)
      ..
      ..
      ..
  }

У меня возникают трудности с установкой nameForCellNib перед awakeFromNib (это необходимо в awakeFromNib), спасибо!

1 ответ

Решение

Если вы хотите использовать var как только он у вас есть, вы можете использовать его didSet Наблюдатель вроде так:

class ListUsersView: UIView {

    @IBOutlet var tableView: UITableView! {
        didSet{
            tableView.registerNib(UINib(nibName: nameForCellNib!, bundle:NSBundle.mainBundle()), forCellReuseIdentifier: nameForCellNib!)
        }
    }
    .
    .
    . 

}
Другие вопросы по тегам