我有一个包含两列的表格 View (名字,名字) 我用数组中的数据填充表格 View 。 现在我想意识到,我可以添加一个“正常”行(人)和一个像图 block 一样的行。
例如:
第 1 行:男性 第 2 行:最大 |穆斯特曼 第 3 行:彼得 |杜伦
为此,我尝试像这样填充我的数组:
Data(firstName: "male persons", secondName: "", typ: "titel")
Data(firstname: "Max", secondName: "Mustermann", typ: "person")
Data(firstname: "Peter", secondName: "Düllen", typ: "person")
它可以工作,但是这是设置标题等行的正确方法吗?
第二个问题: 每行应该在另一列中得到一个连续的数字。 此刻我意识到了行号。但现在的问题是,标题行不应该获得连续的数字。
小例子(行尾是我想实现的数字):
Data(firstName: "male persons", secondName: "", typ: "titel") []
Data(firstname: "Max", secondName: "Mustermann", typ: "person") [1]
Data(firstname: "Peter", secondName: "Düllen", typ: "person") [2]
Data(firstName: "male persons", secondName: "", typ: "titel") []
Data(firstname: "Max", secondName: "Mustermann", typ: "person") [3]
Data(firstname: "Peter", secondName: "Düllen", typ: "person")[4]
我该如何解决这种情况? 我希望你能理解我的问题。
最佳答案
您可以根据需要填充表格 View 。您的解决方案会正常工作。只需确保Data
不是应用程序“模型”层的一部分。 (“模型”层不应该知道数据如何向用户显示,因此它不应该知道那些标题行。)
还有其他方法可以做到这一点。例如,您可以有一系列部分:
struct Person {
let firstName: String
let lastName: String
}
struct Section {
let title: String
let people: [Person]
}
let person1 = Person(firstName: "Max", lastName: "Mustermann")
let person2 = Person(firstName: "Peter", lastName: "Düllen")
let section1 = Section(title: "male persons", people: [person1, person2])
let person3 = Person(firstName: "Max", lastName: "Mustermann")
let person4 = Person(firstName: "Peter", lastName: "Düllen")
let section2 = Section(title: "male persons", people: [person3, person4])
var sections = [section1, section2]
// Now implement the table view data source and
// delegate methods to display the sections array.
在此解决方案中,Person
可以成为应用“模型”层的一部分。
关于arrays - nstableview 添加行作为标题并设置连续编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44540661/