什么是复制UIViewController的正确语法?

时间:2015-09-04 20:17:19

标签: swift2

我想复制一个UIViewController的实例。
这样的事情:

gOriginViewController = self.copy() as! DiscoveryViewController

这给了我运行时错误:

Bliss2.DiscoveryViewController copyWithZone:]: unrecognized selector sent to instance 0x7f8b4440cd70'

什么是正确的复制语法?

1 个答案:

答案 0 :(得分:1)

UIViewController未实现NSCopying,因此无法使用copy()进行复制。您可以使用NSKeyedArchiver执行此操作:

let data = NSKeyedArchiver.archivedDataWithRootObject(self)
let copy = NSKeyedUnarchiver.unarchiveObjectWithData(data) as! DiscoveryViewController