-1
私はこのチュートリアルYoutubeに従っていますが、スライドアウトメニューを作成しようとしていますが、オプションの値をアンラップしている間に予期せずエラーが発生しました。私はそれがself.storyboard ?instantiateViewController(withIdentifier: "SlideMenuView")と同じであると信じています! SlideMenuView?私のコードは以下の通りです:Swiftのスライドアウトメニュー3
class CategoryTableView: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate {
@IBOutlet weak var menuTableView: ExpandableTableView!
var slideMenuVC: SlideMenuView?
var ref: DatabaseReference!
var categories = [Category]()
override func viewDidLoad() {
super.viewDidLoad()
menuTableView.allHeadersInitiallyCollapsed = true
menuTableView.initiallyExpandedSection = 1
menuTableView.singleSelectionEnable = true
slideMenuVC = self.storyboard?.instantiateViewController(withIdentifier: "SlideMenuView") as! SlideMenuView?
categoryTableViewCleanUp()
ref = Database.database().reference()
loadData()
// registerForPushNotifications()
}
// Menu Table
func categoryTableViewCleanUp() {
menuTableView?.delegate = self
menuTableView?.dataSource = self
}
// MARK: Notifications
/*func getNotificationSettings() {
UNUserNotificationCenter.current().getNotificationSettings { (settings) in
print("Notification settings: \(settings)")
guard settings.authorizationStatus == .authorized else { return }
UIApplication.shared.registerForRemoteNotifications()
}
}
func registerForPushNotifications() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
(granted, error) in
print("Permission granted: \(granted)")
}
guard granted else { return }
self.getNotificationSettings()
} */
// MARK: Slideout Menu
@IBAction func menuAction(_ sender: UIBarButtonItem) {
// Show menu
if AppDelegate.slideMenuBool{
showSlideMenu()
}
else {
closeSlideMenu()
}
}
func showSlideMenu() {
self.slideMenuVC?.view.backgroundColor = UIColor.black.withAlphaComponent(0.6)
self.addChildViewController((slideMenuVC)!)
self.view.addSubview((slideMenuVC?.view)!)
AppDelegate.slideMenuBool = false
}
func closeSlideMenu() {
self.slideMenuVC?.view.removeFromSuperview()
AppDelegate.slideMenuBool = true
}
SlideMenuViewはこの識別子がストーリーボードと一致していますか? –
@SaurabhJain私は識別子を作成しました。今、私はこのエラーを受け取ります:Unknown class SlideMenuView Interface Builder file。 タイプ 'UIViewController'の値をキャストできませんでした。 –
SlideMenuViewのスーパークラスがUIViewControllerであることを慎重に確認してください。 –