为什么我需要这么多(看似无用的)传递objc没有的代码 需要类似的推导:
sshd
为我从xib加载的每个视图控制器重复广告。
答案 0 :(得分:2)
如果您不想重载指定的初始化程序init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)
UINavigationController
子类,那么这不应该是一个问题。如果您只想使用默认(超级)初始值设定项,则可以从类中删除这两种方法。
即,以下课程
// MyNavigationController.swift
import UIKit
class MyNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// I don't want to make use of this ...
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// ... nor this
}
// Things I do want to do with my nav. controller
}
可以缩减为
// MyNavigationController.swift
import UIKit
class MyNavigationController: UINavigationController {
// Things I do want to do with my nav. controller
}
没有任何错误。 (在Swift 2.0,Xcode 7.2,模拟器:iOS 9.2中验证)。这是预期的行为,参见例如线程'required' initializer 'init(coder:)' must be provided by subclass of 'UITableViewCell'`中接受的答案。
如果在为此子类类型删除这些类型时仍然出现错误,请提供有关您使用类/ Xcode版本等的一些详细信息。