在调用 awakeFromNib 之前尝试在 UIView 中设置属性
Posted
技术标签:
【中文标题】在调用 awakeFromNib 之前尝试在 UIView 中设置属性【英文标题】:Trying to set a property inside a UIView before awakeFromNib is called 【发布时间】:2015-05-05 13:54:26 【问题描述】:我是 swift 新手 - 我有 2 个视图控制器和一个 segue bitween。 我试图在加载之前在视图内设置一个属性。所以这是我的 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 中需要它)谢谢!
【问题讨论】:
感谢您的信息 好吧,我再写一些。我试图指出问题.. 【参考方案1】:如果您想在拥有var
后立即使用它,可以像这样使用它的didSet
观察者:
class ListUsersView: UIView
@IBOutlet var tableView: UITableView!
didSet
tableView.registerNib(UINib(nibName: nameForCellNib!, bundle:NSBundle.mainBundle()), forCellReuseIdentifier: nameForCellNib!)
.
.
.
【讨论】:
以上是关于在调用 awakeFromNib 之前尝试在 UIView 中设置属性的主要内容,如果未能解决你的问题,请参考以下文章
initWithFrame 未调用,但 awakeFromNib 是