Bir eğiticiyi izleyerek bir sohbet uygulaması yapıyorum ve her şey aynı satırda bu iki hata dışında iyi görünüyordu. Diğer ViewControllers veya dosyaları ile ilgisi olabilir, bu yüzden bana haber ver."Tanımlanamayan Tanımlayıcı Hatası Kullanılıyor"
İşte kod. Hatalarla
import UIKit
class SocketIOManager: NSObject {
static let sharedInstance = SocketIOManager()
var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "http://192.168.1.197")!)
override init() {
super.init()
}
func establishConnection() {
socket.connect()
}
func closeConnection() {
socket.disconnect()
}
func connectToServerWithNickname(nickname: String, completionHandler: (userList: [[String: AnyObject]]!) -> Void) {
socket.emit("connectUser", nickname)
socket.on("userList") { (dataArray, ack) -> Void in
completionHandler(userList: dataArray[0] as! [[String: AnyObject]])
}
listenForOtherMessages()
}
func exitChatWithNickname(nickname: String, completionHandler:() -> Void) {
socket.emit("exitUser", nickname)
completionHandler()
}
func sendMessage(message: String, withNickname nickname: String) {
socket.emit("chatMessage", nickname, message)
}
func getChatMessage(completionHandler: (messageInfo: [String: AnyObject]) -> Void) {
socket.on("newChatMessage") { (dataArray, socketAck) -> Void in
var messageDictionary = [String: AnyObject]()
messageDictionary["nickname"] = dataArray[0] as! String
messageDictionary["message"] = dataArray[1] as! String
messageDictionary["date"] = dataArray[2] as! String
completionHandler(messageInfo: messageDictionary)
}
}
private func listenForOtherMessages() {
socket.on("userConnectUpdate") { (dataArray, socketAck) -> Void in
NSNotificationCenter.defaultCenter().postNotificationName("userWasConnectedNotification", object: dataArray[0] as! [String: AnyObject])
}
socket.on("userExitUpdate") { (dataArray, socketAck) -> Void in
NSNotificationCenter.defaultCenter().postNotificationName("userWasDisconnectedNotification", object: dataArray[0] as! String)
}
socket.on("userTypingUpdate") { (dataArray, socketAck) -> Void in
NSNotificationCenter.defaultCenter().postNotificationName("userTypingNotification", object: dataArray[0] as? [String: AnyObject])
}
}
func sendStartTypingMessage(nickname: String) {
socket.emit("startType", nickname)
}
func sendStopTypingMessage(nickname: String) {
socket.emit("stopType", nickname)
}
}
hat
var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "http://192.168.1.197")!)
sayesinde olduğunu.
"bildirilmemiş Tipi SocketIOClient Kullanımı" gidermek
import SocketIO
ekleyin. –Evet, hata "Tanımlanamayan Tür SocketIOClient'in Kullanılması" ve ikinci hatanın "Soket İçin Tür Çıkamaz" olduğunu bildiriyor –
Hatalar nelerdir? –