Per*_*Liu 5 uitableview reloaddata ios swift xcode6
应用程序在线时崩溃

Run Code Online (Sandbox Code Playgroud)class ImageValueCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var imagesList: UITableView! var imageArray: NSArray! override func awakeFromNib() { //super.awakeFromNib() // Initialization code imagesList.delegate = self; imagesList.dataSource = self; imageArray = NSArray() imagesList.reloadData() } func addImagesValue(objectList: NSMutableArray, machine: WIFIMachine){ imageArray = objectList imagesList.reloadData() //CRASHED HERE }}
我跟踪发现崩溃发生时 imageList 为零。这是一个在 Storyboard 上创建的带有 UITableView 的自定义单元格。谁能告诉我我可以尝试的可能解决方案?
如果您在调用addImagesValue之前调用awakeFromNib,那么您的代码将清空数组。我不认为那是你想要的。这是一个更好的解决方案:
class ImageValueCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var imagesList: UITableView!
var imageArray: NSArray = NSArray() {
didSet {
// whenever the imageArray changes, reload the imagesList
if let imagesList = imagesList {
imagesList.reloadData()
}
}
}
override func awakeFromNib() {
// why isn't the below done from inside the nib file? That's how I would do it.
imagesList.delegate = self
imagesList.dataSource = self
imagesList.reloadData()
}
func addImagesValue(objectList: NSMutableArray, machine: WIFIMachine){
imageArray = objectList
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5135 次 |
| 最近记录: |