2016-04-08 22 views
0

私はチュートリアルの後にチャットアプリを作っていますが、同じ行のこれらの2つのエラーを除いてすべてがうまく見えました。他のViewControllerやファイルと関係するかもしれないので、私に知らせてください。"宣言されていない識別子エラーの使用"

ここにコードがあります。

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) 
} 
} 

エラーのある行は、

var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "http://192.168.1.197")!) 

おかげです。

+0

「宣言されていないタイプSocketIOClientの使用」を修正するimport SocketIOを追加します。 –

+0

はい、 "宣言されていないタイプのSocketIOClientを使用する"というエラーが表示され、2番目のエラーは "ソケットのタイプを推測できませんでした"というエラーメッセージが表示されます –

+0

エラーは何ですか? –

答えて

0

SocketIOClientファイルに移動し、Xcodeの右側のファイルインスペクタを開き、SocketIOClientがアプリケーションターゲットの一部であるかどうかを確認します。このエラーは、その原因で発生している可能性があります。

0

*正確な*エラーメッセージは非常に参考になるエラー

関連する問題