我正在使用协议和代理从 View Controller 向我的自定义视图控制器发送信息。
ViewController.swift ==
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIAlertViewDelegate, StartAlertViewVCDelegate {
func requiredText() -> String { return "test123" }
CustomViewController.swift ==
@objc protocol StartAlertViewVCDelegate {
func requiredText() -> String }
&安培;
func requiredText(info: NSString) { println(info) }
这很好用,但我的问题是我实际上需要从Core Data发送一个项目。此项目是从didSelectRowAtIndexPath .. EX:
中选择的 func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("***** Row \(indexPath.row) selected *****")
var infoData = [NSManagedObject]()
let company = infoData[indexPath.row]
company.valueForKey("openDoor") as String?
self.selectedOpenDoor = company.valueForKey("openDoor") as String!
我需要将selectedOpenDoor字符串传递给我的自定义视图控制器。 但是当我运行应用程序时,编译器会在将任何内容放入字符串之前抓取selectedDoorOpen(它在启动时运行)
在didSelectRow被触发后,是否有传递委托的内容?
有什么建议吗?