[ad_1]
I’m making an attempt to make use of the swipe to delete operate in Swift for my dictionary array and I carry on getting the error “Can’t convert worth of kind ‘Int’ to anticipated argument kind ‘Dictionary<String, String>.Index.” I’m not positive methods to change the info kind and methods to repair this.
That is my code:
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection part: Int) -> Int {
return time period.rely
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let phrases = Array(time period.keys)
let that means = Array(time period.values)
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.textual content = phrases[indexPath.row]
cell.detailTextLabel?.textual content = that means[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
time period.take away(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
}
}
override func viewDidLoad() {
tremendous.viewDidLoad()
// Do any extra setup after loading the view.
tblTerms.delegate = self
tblTerms.dataSource = self
}
// Retailers
@IBOutlet weak var txtTerm: UITextField!
@IBOutlet weak var txtMeaning: UITextField!
@IBOutlet weak var tblTerms: UITableView!
@IBOutlet weak var lblCount: UILabel!
@IBOutlet weak var lblMessage: UILabel!
var time period: [String: String] = [:]
// Actions
@IBAction func btnAdd(_ sender: Any) {
if txtTerm.textual content != "" && txtMeaning.textual content != "" {
time period[String(txtTerm.text!)] = txtMeaning.textual content
lblCount.textual content = String(time period.rely)
tblTerms.reloadData()
txtTerm.textual content = ""
txtMeaning.textual content = ""
} else {
lblMessage.textual content = "No time period or that means entered"
}
}
}
Cheers
[ad_2]