【发布时间】:2014-06-13 22:55:39
【问题描述】:
我正在尝试将一个简单的应用程序从 Objective C 转换为 Swift。它基于一个 BaseViewController,然后对其进行子类化。
我创建了一个只有这两个类的项目 - BaseViewController 和 ChildViewController。
ChildViewController 有一个 xib 文件,当我右键单击文件属性时,我希望看到 BaseViewController 的 IBOutlets - 但我没有,并且视图属性也不再存在。
BaseViewController
import UIKit
class BaseViewController: UIViewController {
@IBOutlet var customButton: UIBarButtonItem
@IBOutlet var _activityIndicator:UIActivityIndicatorView
init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func customButtonAction() {
}
}
ChildViewController
import UIKit
class ChildViewController: BaseViewController {
init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func customButtonAction() {
}
}
我认为 swift 类的初始化与 Objective-c 不同,如果上述方法不再适用于 swift,是否有另一种方法可以完成同样的事情?
【问题讨论】:
-
“如果上述方法有效” 那么你没有问题。你想让别人为你测试代码吗?
-
感谢您的回复 - 我的措辞可能有误 - 代码可以编译,但我在子控制器中看不到任何基本控制器的 IBOutlets
-
你也应该改一下标题——现在的标题非常一般。
标签: uiviewcontroller subclass swift xcode6