我得到"线程1:exc_bad_access(code = 2,address = 0x16fc0bfefe8)错误。我已经设置了iOS应用程序,以便在登录后访问Table View Controller。它应该显示图像。我一直在关注这个教程http://shrikar.com/uitableview-and-uitableviewcell-customization-in-swift/,但没有运气。这是我的data.swift文件,其中错误源自:
import Foundation
class Data {
class Entry: Data {
let filename : String
init(fname : String) {
self.filename = fname
}
}
let products = [
Entry(fname: "placeholder1"), // <- Thread 1 error code shows in this line
Entry(fname: "placeholder2"),
Entry(fname: "placeholder3")
]
}
HomeTableViewController.swift
import UIKit
class HomeTableViewController: UITableViewController {
let data = Data()
override func viewDidLoad() {
super.viewDidLoad()
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.products.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! HomeTableViewCell
let entry = data.products[indexPath.row]
let image = UIImage(named: entry.filename)
cell.bkImageView.image = image
return cell
}
HomeTableViewCell.swift
import UIKit
class HomeTableViewCell: UITableViewCell {
@IBOutlet weak var bkImageView: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
谦虚地寻求一些帮助。提前谢谢。
答案 0 :(得分:0)
问题是这一行:
class Entry: Data {
由于Entry
在创建Data
实例时继承自Data
,程序会进入无限循环,初始化products
的第一个成员(Entry
1}})及其父类Data
。相反,它应该是这个,根据教程:
class Entry {