2015-02-10 62 views
1

刚刚升级到XCode 6.3并且已经得到了所有编译错误,除了出现在我的许多类中的错误。XCode 6.3 Init()不再编译

我做一个例子类如下:

init() 
{ 
    super.init() 

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
    managedContext = appDelegate.managedObjectContext! 
} 

这将返回在super.init()调用以下错误:

Must call a designated initializer of the superclass 'UITableViewController' 

有人看到这或拿出一个修复然而?

回答

6

您必须使用UITableViewController指定初始化,即

init(style style: UITableViewStyle) 

例如:

super.init(style: .Plain) 
+0

这工作!谢谢!只要它允许我会标记为答案。 – Khirok 2015-02-10 15:47:04

+0

请注意,如果存在任何指定的初始化函数,'init()'将生成编译器错误。 'init()'仅在缺少接受参数的其他init方法时可用。这就是为什么'init()'在某些情况下可能被接受,但在其他情况下不可接受。 – ozz 2015-02-10 15:48:49

+1

另外查看API差异,尤其是8.2和8.3之间的差异,更多的指定初始值设定项将被添加到现有的类中,因为它们似乎更快速地被遵从。 – 2015-02-10 17:25:03