Я создаю приложение чата с использованием socket.io, все идет отлично, но когда я обрабатываю уведомление о наборе пользователя, я получаю сообщение об ошибке, как показано ниже
Ошибка:
Завершение приложения из-за необработанного исключения
'NSInvalidArgumentException', причина: '- [SocketChat.ChatViewController
handleUserTypingNotification:]: нераспознанный селектор, отправленный экземпляру
0x7f817653d710
и сейчас я покажу вам мой код для лучшего истечения
Код:
private func listenForOtherMessages() {
socket.on("userTypingUpdate") { (dataArray, socketAck) -> Void in
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "userTypingNotification"), object: dataArray[0] as? [String: AnyObject])}
}
Здесь я управляю методом, который я получаю из файла index.js и из другого viewcontroller. Я управляю с центром уведомлений как ниже
let notificationCenter4 = NotificationCenter.default
notificationCenter4.addObserver(self, selector: Selector(("handleUserTypingNotification")), name:NSNotification.Name(rawValue: "userTypingNotification"), object: nil)
Я не понимаю, почему возникает эта ошибка и что именно она означает. Может кто-нибудь, пожалуйста, помогите мне?
import UIKit
class ChatViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let notificationCenter4 = NotificationCenter.default
notificationCenter4.addObserver(self, selector: #selector(handleUserTypingNotification)), name:NSNotification.Name(rawValue: "userTypingNotification"), object: nil)
}
func handleKeyboardDidShowNotification(notification: NSNotification) {
if let userInfo = notification.userInfo {
if let keyboardFrame = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
conBottomEditor.constant = keyboardFrame.size.height
view.layoutIfNeeded()
}
}
}
}