我想做以下事情:
1-从类创建对象(包含3个变量) 2-将这些对象存储在数组中 3-创建一个tableview 4- tableview中的单元格必须提供第一个变量的输入。
我被困在最后一步。有人能帮助我吗?
var totalBooks = [AnyObject]() *// create an empty array*
var newBook = Book(setTitle: "booktitle", setWriter: "writer", setFile: "file") *// creates object from a class with 3 variables*
totalBooks.append(newBook) *// puts the object in the array*
*cell.textLabel?.text = totalBooks **???*** *// must put the first variable (setTitle) as output information.*
提前致谢
答案 0 :(得分:0)
1。您应该像这样创建数组:
let totalBooks = [Book]()
2。 setTitle不是属性的好名字 - 使用title
3. 通过符合UITableViewDataSource协议,将totalBooks
数组设置为表视图的数据源。
您可以在此处阅读并自行尝试 - UITableViewDataSource
4. 在tableView(_:cellForRowAtIndexPath:)
中为totalBooks
数据源中的相应项设置单元格的标题标签。
答案 1 :(得分:0)
这是一个解决方案。
在视图控制器var myBooks = [Book]()
在viewDidLoad方法
中override func viewDidLoad() {
super.viewDidLoad()
for _ in 1...3 {
var newBook = Book(setTitle: "booktitle", setWriter: "writer", setFile: "file")
myBooks.append(newBook)
}
}
在cellForRowAtIndexPath委托方法
中func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
let book = self.myBooks[indexPath.row]
cell.label.text = book.title //or book.setTitle, whatever you have
return cell
}