我想在tableview控制器中创建三个单元格,并在storyboard中添加了三个原型单元格,它不会崩溃,但它会查看一个空的tableview。
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
let nib1 = UINib(nibName: "one", bundle: nil)
tableView.registerNib(nib1, forCellReuseIdentifier: "one")
let nib2 = UINib(nibName: "two", bundle: nil)
tableView.registerNib(nib2, forCellReuseIdentifier: "two")
let nib3 = UINib(nibName: "three", bundle: nil)
tableView.registerNib(nib3, forCellReuseIdentifier: "three")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 3
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// let cell = tableView.dequeueReusableCellWithIdentifier(" reuseIdentifier",forIndexPath:indexPath) var cell:UITableViewCell!
switch (indexPath.row){
case 0 :
cell = tableView.dequeueReusableCellWithIdentifier("one") as! one
cell.textLabel?.text = "book1"
break;
case 1:
cell = tableView.dequeueReusableCellWithIdentifier("two") as! two
cell.textLabel?.text = "book2"
break;
case 2 :
cell = tableView.dequeueReusableCellWithIdentifier("three") as! three
cell.textLabel?.text = "book3"
default:
break;
}
// Configure the cell...
return cell
}
答案 0 :(得分:1)
由于您总是希望在表格视图中显示3个单元格,因此您应使用UITableView
的“静态单元格”样式。如果选择适当的UITableView
并查看属性检查器,则可以在故事板中进行设置。
然后,拖出正确数量的单元格并在Storyboard中配置它们。如果您需要以编程方式操作它们或其内容,请将每个单元格连接到IBOutlet
。
请注意,由于静态表视图仅允许在UITableViewController
中,因此您可能需要更改包含问题中包含的代码的类。