我已经为SWRevealViewController设置了所有代码,它在Xcode 10.3甚至Xcode 11.2 beta 2上都运行良好,但是由于某种原因,它在App Store的最新更新中不起作用,最终导致出现此错误,应用程序委托
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x48)
我使用SWRevealView Controller切换后的屏幕。任何想法如何解决这个问题
对我来说很奇怪,因为我以前从未遇到过SWRevealViewController问题
这是我在ViewDidLoad上用于所有视图控制器的代码以及我的应用程序委托的代码
menuButton.target = self.revealViewController()
menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Onboarding
let launchedBefore = UserDefaults.standard.bool(forKey: "hasLaunched")
self.window = UIWindow(frame: UIScreen.main.bounds)
let launchStoryboard = UIStoryboard(name:"Onboarding", bundle: nil)
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
var vc: UIViewController
if launchedBefore {
vc = mainStoryboard.instantiateInitialViewController()!
} else {
vc = launchStoryboard.instantiateViewController(withIdentifier: "AgeVC")
}
UserDefaults.standard.set(true, forKey: "hasLaunched")
self.window?.rootViewController = vc
self.window?.makeKeyAndVisible()
// Onboarding End
FirebaseApp.configure()
// Override point for customization after application launch.
UITabBar.appearance().barTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
UITabBar.appearance().tintColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
UITabBar.appearance().unselectedItemTintColor = #colorLiteral(red: 0.2, green: 0.9333333333, blue: 0.4588235294, alpha: 1)
UINavigationBar.appearance().barTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
UINavigationBar.appearance().tintColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.black]
return true
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
幻灯片菜单
import UIKit
let kStringTransfer = "StringTransferNotification"
class MenuViewController: UITableViewController {
@IBOutlet weak var addressLabel: UILabel!
@IBOutlet weak var addressBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(setString(notify:)), name: NSNotification.Name(rawValue: kStringTransfer), object: nil)
self.revealViewController().rearViewRevealWidth = self.view.frame.width-100//put the width you need
self.revealViewController().rearViewRevealOverdraw = 0
}
@objc func setString(notify: Notification) {
//set search bar string to text field
addressLabel.text = notify.object as? String
}
func userDidEnterInformation(info: String) {
addressLabel.text = info
}
}
侧边它在崩溃前确实工作了几次