【发布时间】:2015-05-05 14:27:49
【问题描述】:
我有一个 swift 类 Jammingue,其中在 Objective-c 中有一个 NSObject,称为 tryagain。我知道如何使用协议在 swift viewcontrollers 之间传递数据,但是这里添加的元素是 NSObject 而不是 ViewController 以及 Objective-C 元素。可以以类似的方式使用协议吗?这就是我所拥有的:
protocol predesignedDelegate{
func sendPredesignedFunction(info: [String])
}
class Jammingue: NSViewController{
var delegate: passDelegate? = nil
var predesignedArray = []
func doDelegateStuff(){
if let delegate = delegate{
delegate.sendPredesignedFunction(predesignedArray)
}
}
override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) {
if let second = segue.destinationController as? SecondViewController{
second.representedObject = predesignedArray
}
}`
问题是destinationController 仅适用于视图控制器,而在segue 的另一边,在objective-c NSObject 中,我不能使用相同的命令来检索数据。有没有办法做我想做的事?
【问题讨论】:
标签: objective-c swift segue viewcontroller nsobject