问题:“PrincipalViewController”在 swift 中没有名为“revealViewController”的成员
Posted
技术标签:
【中文标题】问题:“PrincipalViewController”在 swift 中没有名为“revealViewController”的成员【英文标题】:Trouble: 'PrincipalViewController' does not have a member named 'revealViewController' in swift 【发布时间】:2015-03-05 08:20:02 【问题描述】:我正在使用 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
有什么想法吗?非常感谢
【问题讨论】:
什么是self.revealViewController()
?
我认为是侧边栏的视图控制器。但是我在正在运行的演示应用程序中进行了搜索,并且没有引用该视图
这是我下载代码的网站 (appcoda.com/sidebar-menu-swift)
那你为什么在属性后使用()?
【参考方案1】:
我刚刚发现了问题。应用中有子objective-c代码,桥接头配置不好。非常感谢
【讨论】:
【参考方案2】:从 Cocoapods >0.36 开始,如果您使用 Cocoapods 将 SWRevealViewController
添加到您的项目中,请不要弄乱桥接头。只需在您的 Podfile
中取消注释 use_frameworks!
。然后将import SWRevealViewController
放入您的ViewController.swift
文件中。 Here's a great article that explains it。
【讨论】:
【参考方案3】:为不理解答案解释的其他人澄清这一点...确保桥接头文件连接到目标 C 桥接头文件的路径,该文件位于项目的构建设置中的 Swift 编译器中...
这里是检查是否存在的方法的链接,请查看手动添加图片的方法...
http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/
【讨论】:
以上是关于问题:“PrincipalViewController”在 swift 中没有名为“revealViewController”的成员的主要内容,如果未能解决你的问题,请参考以下文章
算法---- 01背包问题和完全背包问题LeetCode系列问题题解