问题:'PrincipalViewController' 在 swift 中没有名为 'revealViewController' 的成员
Trouble: 'PrincipalViewController' does not have a member named 'revealViewController' in swift
我正在 Swift 中使用 SWRevealViewController 创建侧边栏菜单。问题是我收到以下错误:'PrincipalViewController' 没有名为 'revealViewController'
的成员
我正在处理的代码是:
class PrincipalViewController: UIViewController {
@IBOutlet weak var menuButton:UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// This is the line with the error
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
// Uncomment to change the width of menu
//self.revealViewController().rearViewRevealWidth = 62
}
}
有什么想法吗?非常感谢
我刚发现问题。应用中有子objective-c代码,桥接头没有配置好。非常感谢
为不理解答案解释的其他人解决这个问题...确保桥接头文件连接到 Objective C 桥接头文件的路径,该路径位于 Swift 在项目的构建设置中找到编译器...
这里有一个link检查它是否存在的方法,请查看手动添加图片...
http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/
从 Cocoapods >0.36 开始,如果您使用 Cocoapods 将 SWRevealViewController
添加到您的项目中,请不要弄乱桥接 header。只需在 Podfile
中取消注释 use_frameworks!
。然后 import SWRevealViewController
进入你的 ViewController.swift
文件。 Here's a great article that explains it。
我正在 Swift 中使用 SWRevealViewController 创建侧边栏菜单。问题是我收到以下错误:'PrincipalViewController' 没有名为 'revealViewController'
的成员我正在处理的代码是:
class PrincipalViewController: UIViewController {
@IBOutlet weak var menuButton:UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// This is the line with the error
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
// Uncomment to change the width of menu
//self.revealViewController().rearViewRevealWidth = 62
}
}
有什么想法吗?非常感谢
我刚发现问题。应用中有子objective-c代码,桥接头没有配置好。非常感谢
为不理解答案解释的其他人解决这个问题...确保桥接头文件连接到 Objective C 桥接头文件的路径,该路径位于 Swift 在项目的构建设置中找到编译器...
这里有一个link检查它是否存在的方法,请查看手动添加图片...
http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/
从 Cocoapods >0.36 开始,如果您使用 Cocoapods 将 SWRevealViewController
添加到您的项目中,请不要弄乱桥接 header。只需在 Podfile
中取消注释 use_frameworks!
。然后 import SWRevealViewController
进入你的 ViewController.swift
文件。 Here's a great article that explains it。