1

我是 swift 新手 - 我有 2 个视图控制器和一个 segue 位在它们之间。我试图在加载之前在视图内设置一个属性。所以这是我的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!)
      ..
      ..
      ..
  }

我很难在 awakeFromNib 之前设置 nameForCellNib(在 awakeFromNib 中需要它)谢谢!

4

1 回答 1

4

如果您想在拥有 avar后立即使用它,则可以像这样使用它的didSet观察者:

class ListUsersView: UIView {

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

}
于 2015-05-05T14:16:34.423 回答