表视图 NSException
TableView NSException
我是 Swift 的新手,我正在使用 ObjectMapper
解析我的 JSON,但我希望数据显示在 TableView 中。但是我有一个问题:
libc++abi.dylib: terminating with uncaught exception of type NSException
通过方法numberOfRowsInSection
得到的。我的数组不是零,数组有 2193 个元素
我不明白为什么会这样
这是我解析的代码 JSON :
let timeStamp = NSNumber(value: Date().timeIntervalSinceNow)
var programs = [PrograToDayModel]()
override func viewDidLoad() {
super.viewDidLoad()
super.viewDidLoad()
let timeStamp = NSNumber(value: Date().timeIntervalSinceNow)
self.downloadPrograms(for: timeStamp)
}
func downloadPrograms(for timestamp: NSNumber) {
Alamofire.request("http://52.50.138.211:8080/ChanelAPI/programs/\(timestamp)").responseArray { (response: DataResponse<[PrograToDayModel]>) in
let programlArray = response.result.value
if let programlArray = programlArray {
for program in programlArray {
self.programs.append(program)
print(program.title as Any)
}
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
我在控制台中打印元素很好:
我的 table 代码:
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
print(self.programs.count as Any)
return self.programs.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramTableViewCell", for: indexPath) as! ProgramTableViewCell
cell.title.text = self.programs[indexPath.row].title
return cell
}
}
所有标识符到位
我使用标签栏,tableView,tableViewCell
我怎么解决这个问题?
要确定问题,您可以试试这个 -
这可能是导致该问题的原因
因此转到 Main.storyboard,然后在 phone 大纲顶部的视图控制器上 right-click 移除所有带有黄色标志的出口(如果有的话)。
我在尝试添加 section/number 行时尝试初始化 uitableviewcontroller
时遇到类似的非描述性错误。您是否注册了表格视图单元格 class?我看到您创建了一个自定义 tableview 单元格,所以如果它没有在您的 tableview 中注册,可能会导致此错误。
tableView.register("ProgramTableViewCell".self, forCellReuseIdentifier: "ProgramTableViewCell")
我是 Swift 的新手,我正在使用 ObjectMapper
解析我的 JSON,但我希望数据显示在 TableView 中。但是我有一个问题:
libc++abi.dylib: terminating with uncaught exception of type NSException
通过方法numberOfRowsInSection
得到的。我的数组不是零,数组有 2193 个元素
我不明白为什么会这样
这是我解析的代码 JSON :
let timeStamp = NSNumber(value: Date().timeIntervalSinceNow)
var programs = [PrograToDayModel]()
override func viewDidLoad() {
super.viewDidLoad()
super.viewDidLoad()
let timeStamp = NSNumber(value: Date().timeIntervalSinceNow)
self.downloadPrograms(for: timeStamp)
}
func downloadPrograms(for timestamp: NSNumber) {
Alamofire.request("http://52.50.138.211:8080/ChanelAPI/programs/\(timestamp)").responseArray { (response: DataResponse<[PrograToDayModel]>) in
let programlArray = response.result.value
if let programlArray = programlArray {
for program in programlArray {
self.programs.append(program)
print(program.title as Any)
}
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
我在控制台中打印元素很好:
我的 table 代码:
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
print(self.programs.count as Any)
return self.programs.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramTableViewCell", for: indexPath) as! ProgramTableViewCell
cell.title.text = self.programs[indexPath.row].title
return cell
}
}
所有标识符到位 我使用标签栏,tableView,tableViewCell 我怎么解决这个问题?
要确定问题,您可以试试这个 -
这可能是导致该问题的原因
因此转到 Main.storyboard,然后在 phone 大纲顶部的视图控制器上 right-click 移除所有带有黄色标志的出口(如果有的话)。
我在尝试添加 section/number 行时尝试初始化 uitableviewcontroller
时遇到类似的非描述性错误。您是否注册了表格视图单元格 class?我看到您创建了一个自定义 tableview 单元格,所以如果它没有在您的 tableview 中注册,可能会导致此错误。
tableView.register("ProgramTableViewCell".self, forCellReuseIdentifier: "ProgramTableViewCell")