- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 Swift 5 中使用 Xcode 11.2.1 为 iOS 开发我的第一个应用程序。在 Main.storyboard 文件中,我创建了一个选项卡栏 Controller ,它也是一个初始 View Controller 。启动应用程序后立即显示的选项卡包含表格 View 。我想更新上述 TableView 中的单元格,为此我创建了一个类 - DBHandler.swift。
import Foundation
import UIKit
import SQLite
class DBHandler{
let path = Bundle.main.path(forResource: "db1", ofType: "sql")
lazy var db = try! Connection(path!, readonly: true)
func getSessionTitles(){
let data = Table("data")
let id = Expression<String>("id")
for one in try! db.prepare(data) {
print("id: \(one[id])")
}
}
}
我遇到的问题是,每当我尝试将 TableView 拖到我的 DBHandler 类中时,应用程序都会构建,然后崩溃并显示 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x7ff4af6065c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key TableView.'
错误。在 Storyboard 中,按住 Control 键单击“ View ”后,“Outlets”部分会出现一个黄色三角形,显示 UIView does not have an outlet named TableView
。 UIView 是显示在 TableView 的身份检查器的“自定义类”部分中的类,但是我的自定义类没有显示在那里。
如何将 TableView 连接到 DBHandler 类,以便可以将一些数据插入到 TableView 中?
最佳答案
试试这个,
Class DBHandler: UITableViewController{
//your code here
let path = Bundle.main.path(forResource: "db1", ofType: "sql")
lazy var db = try! Connection(path!, readonly: true)
func getSessionTitles(){
let data = Table("data")
let id = Expression<String>("id")
//for one in try! db.prepare(data) {
//print("id: \(one[id])")
//}
}
}
确保在 Storyboard身份检查器中,您的 TableView 符合您的自定义类 DBHandler。
编辑-
您不应该在提供的代码中使用 try 语句。 TableView Controller 的类不应尝试从数据库中获取。编写一个单独执行此操作的函数
关于swift - 如何将 Storyboard TableView 连接到我创建的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59060215/
我是一名优秀的程序员,十分优秀!