Я намагаюся видалити рядок із мого джерела даних та наступного рядка коду:
if let tv = tableView {
викликає таку помилку:
Ініціалізатор для умовного прив'язування повинен мати необов’язковий тип, а не UITableView
Ось повний код:
// Override to support editing the table view.
func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
if let tv = tableView {
myData.removeAtIndex(indexPath.row)
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
Як слід виправити наступне?
if let tv = tableView {
variable with getter/setter cannot have an initial value
яку було вирішено шляхом простого видалення блоку залишився {} після ініціалізації, аля ця відповідь: stackoverflow.com/a/36002958/4544328
tableView
не є необов'язковим значенням, не потрібно перевіряти, чи є нульовим чи ні. Таким чином, ви можете безпосередньо використовувати його, я маю на увазі видалити цеif let
та просто використовуватиtableView
у функції