我想复制一个UIViewController的实例。
这样的事情:
gOriginViewController = self.copy() as! DiscoveryViewController
这给了我运行时错误:
Bliss2.DiscoveryViewController copyWithZone:]: unrecognized selector sent to instance 0x7f8b4440cd70'
什么是正确的复制语法?
答案 0 :(得分:1)
UIViewController
未实现NSCopying
,因此无法使用copy()
进行复制。您可以使用NSKeyedArchiver
执行此操作:
let data = NSKeyedArchiver.archivedDataWithRootObject(self)
let copy = NSKeyedUnarchiver.unarchiveObjectWithData(data) as! DiscoveryViewController