ios - 无法使用 StringLiteralConvertible 类型的参数列表调用 'init'

标签 ios xcode swift

当我尝试运行下面的代码时出现此错误:

Cannot invoke 'init' with argument list of type (id:StringLiteralConvertible,host:Contact,target:Contact,text:StringLiteralConvertible)

我尝试在类里面使用 NSString 和 String,但仍然遇到同样的问题。谁能指导我在这里缺少什么?

class Contact {
    let id:String? = ""
    let name:String? = ""
    var number:String? = ""
    var photoPath:String? = ""
    var onlineStatus:Bool? = false

    init(id:String,name:String) {
        self.id = id
        self.name = name
        self.number = ""
        self.photoPath = ""
        self.onlineStatus? = false
    }
}

class Message {
    var id:String?
    var time:NSDate?
    var host:Contact?
    var target:Contact?

    init(id:String,host:Contact,target:Contact,time:NSDate) {
        self.id = id
        self.host = host
        self.target = target
        self.time = time
    }
}

class TextMessage:Message {
    var text:String?

    init(id: String, host: Contact, target: Contact, time: NSDate, text: String) {
        super.init(id: id, host: host, target: target, time: time)
        self.text = text
    }
}

let host = Contact(id: "", name: "")
let target = Contact(id: "", name: "")
let msg = TextMessage(id: "", host: host, target: target, time: NSData(), text: "")

最佳答案

您在调用 TextMessage init 时得到了错误的数据类型,应该是 NSDate()

let msg = TextMessage(id: "", host: host, target: target, time: NSDate(), text: "")

关于ios - 无法使用 StringLiteralConvertible 类型的参数列表调用 'init',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27792514/

相关文章:

c++ - CMake 顶级 Xcode 项目属性

ios - 开/关触觉反馈开关(Swift)

swift - 在 Github 上找到 iCloud 和 UIDocument 项目?

ios - 单击搜索栏时如何导航到另一个 View Controller

ios - 以编程方式构建工具栏

swift - 应用程序不更新我的位置

ios - Swift 5 UIButton 标题没有改变

ios - libsqlite3.dylib 框架意外从 xcode 中删除

ios - 核心数据 changedValues 是否忽略二进制数据和转换后的属性?

ios - 当 imagePickerController 只返回 UIImagePickerControllerReferenceURL