我正在尝试从一种 View 切换到另一种 View ,但收到此错误,但我不知道为什么会收到此错误。
我使用此功能转到下一个 Controller :
func showChatControllerForGroup(_ user: [User], groupName: String) {
let vc: GroupChatMessangingViewController = self.storyboard?.instantiateViewController(withIdentifier: "GroupChatMessangingViewController") as! GroupChatMessangingViewController
//it crashed above here
vc.group?.members = user
vc.group?.name = groupName
self.navigationController?.pushViewController(vc, animated: true)
}
为了调用它,我在另一个 View 中调用它:
var group: Group? {
didSet {
navigationItem.title = group?.name
}
}
var chosenUser: [User] = []
let user = self.chosenUser
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Create", style: .plain, target: self, action: #selector(createGroup))
// Do any additional setup after loading the view.
}
@objc func createGroup(){
let transition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionReveal
transition.subtype = kCATransitionFromBottom
navigationController?.view.layer.add(transition, forKey: nil)
_ = navigationController?.popViewController(animated: true)
let user = self.chosenUser
self.nextVC.showChatControllerForGroup(user, groupName: groupNameTextField.text!) }
以防万一有人需要查看我的用户类:
class User {
var id: String?
var name: String?
var email: String?
var profileImageUrl: String?
var lastMessage: String?
var timestamp: String? //reason why this exist was because in mainmenu, we appended users, not msssage
init() {
}
init(dictionary: [String: AnyObject]) {
self.id = dictionary["id"] as? String
self.name = dictionary["name"] as? String
self.email = dictionary["email"] as? String
self.profileImageUrl = dictionary["profileImageUrl"] as? String
}
}
从我的小组类(class)来看:
class Group {
var id: String?
var name: String?
var members: [User]!
var groupImageUrl: String?
var lastMessage: String?
var timestamp: String?
init() {
}
init(dictionary: [String: AnyObject]) {
self.id = dictionary["id"] as? String
self.name = dictionary["name"] as? String
}}
有什么原因导致崩溃吗?
最佳答案
我猜你在
let vc: GroupChatMessangingViewController = self.storyboard?.instantiateViewController(withIdentifier: "GroupChatMessangingViewController") as! GroupChatMessangingViewController
您调用了错误的 Storyboard。检查并看看您是否处于正确的 Storyboard中。
关于ios - 线程 1 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, 子代码=0x0) Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50638585/