Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift &引用;使用未声明的标识符错误“;_Swift - Fatal编程技术网

Swift &引用;使用未声明的标识符错误“;

Swift &引用;使用未声明的标识符错误“;,swift,Swift,我正在做一个聊天应用程序,遵循一个教程,一切都看起来不错,除了这两个错误在同一行。它可能与其他ViewController或文件有关,请告诉我 这是代码 import UIKit class SocketIOManager: NSObject { static let sharedInstance = SocketIOManager() var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "http://1

我正在做一个聊天应用程序,遵循一个教程,一切都看起来不错,除了这两个错误在同一行。它可能与其他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")!)

谢谢。

转到SocketIOClient文件,打开Xcode右侧的文件检查器,查看SocketIOClient是否是应用程序目标的一部分。该错误可能是由该错误引起的。

添加
导入SocketIO
以修复“使用未声明类型的SocketIOClient”错误检查socket.io-client swift master的源文件夹是否包含所有文件,如果没有,您可以再次从应用程序中的源文件夹下载并复制该文件夹

确切的错误消息将非常有用。是的,错误信息是“使用未声明的类型SocketIOClient”,第二个错误是“无法推断套接字的类型”。错误是什么?SocketIOClient已经是一个源文件,但仍然显示为错误。???有人在吗@扎克扬瓦哈姆达尼