Я в основном пытаюсь передать данные из ячейки UITableView, от одного контроллера представления до моего второго диспетчера представлений при удалении ячейки из первого диспетчера представлений.Передача данных из ячейки UITableView в другой UITableView VC? (Swift)
Вот код для моего первого класса ViewController пытается передать данные Tableview в массив в моем другом классе ViewController:
var deletedProperty: [String] = []
var storedDeletion: [String] = []
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if(editingStyle == UITableViewCellEditingStyle.Delete){
storedDeletion.append(deletedProperty[indexPath.row])
taskMgr.tasks.removeAtIndex(indexPath.row)
tblTasks.reloadData();
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "YourIdentifier" {
let destination = segue.destinationViewController as ThirdViewController; destination.secondTaskMgr = storedDeletion
}
}
Вот код для моего другого класса ViewController, содержащего массив:
var secondTaskMgr: SecondTaskManager = SecondTaskManager()
struct secondTask {
var passedName = ""
}
class SecondTaskManager: NSObject {
var secondTasks = [secondTask]()
func secondAddTask(name: String){
secondTasks.append(secondTask(passedName: name))
}
}
В первом классе ViewController я получаю ошибку
'NSArray' is not a subtype of 'ThirdViewController.SecondTaskManager'"
по адресу
let destination = segue.destinationViewController as ThirdViewController;
destination.secondTaskMgr = storedDeletion
В чем проблема и как его исправить? И есть ли лучший способ сделать это?
Спасибо. Кроме того, как бы вы сделали эту работу полностью? – wibbed