2016-04-08 21 views
0

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.

+0

"bildirilmemiş Tipi SocketIOClient Kullanımı" gidermek import SocketIO ekleyin. –

+0

Evet, hata "Tanımlanamayan Tür SocketIOClient'in Kullanılması" ve ikinci hatanın "Soket İçin Tür Çıkamaz" olduğunu bildiriyor –

+0

Hatalar nelerdir? –

cevap

0

SocketIOClient dosyasına gidin, Xcode'un sağ tarafındaki Dosya denetçisini açın ve SocketIOClient'in uygulama hedefinizin bir parçası olup olmadığını görün. Hata bundan kaynaklanabilir.

0

* kesin * hata mesajı son derece yararlı olacaktır hata

İlgili konular