0
因此,我使用Realm數據庫,並且我的TableView每次都會返回新的一組數據。所以,第一次,我得到了3件物品。第二次是6項等TableView每次運行應用程序時都會返回重複項目
import UIKit
import RealmSwift
class TableViewController: UITableViewController {
var ModelName = [String]()
var Power = [String]()
func addPanel() {
let realm = try! Realm()
let allPanels = realm.objects(Panel)
try! realm.write {
realm.add(Panel(model: "Hyundai", power: 260))
realm.add(Panel(model: "Honda", power: 420))
realm.add(Panel(model: "Siemens", power: 280))
}
tableView.reloadData()
for i in allPanels {
ModelName.append(i.model)
Power.append("\(i.power)")
}
}
override func viewDidLoad() {
super.viewDidLoad()
addPanel()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// 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
return ModelName.count //changed from 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:TableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell
//connect NameLabel cell to the name of Model and PowerLabel cell to the power
cell.NameLabel.text = ModelName[indexPath.row]
cell.PowerLabel.text = Power [indexPath.row]
return cell
}
如果我限制我的行數爲3,應用程序的作品。
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return ModelName.count //changed from 3
}
我會很感激任何幫助。謝謝