无法使用类型为“”的参数列表调用类型“”的初始化程序

Posted

技术标签:

【中文标题】无法使用类型为“”的参数列表调用类型“”的初始化程序【英文标题】:Cannot invoke initializer for type '' with an argument list of type '' 【发布时间】:2015-08-06 09:26:41 【问题描述】:

更新:这适用于 Playground 和一个新项目,但不适用于我当前的项目:

无法使用类型为“(名称:字符串)”的参数列表调用类型“用户”的初始化程序

关于造成这种情况的任何想法?我正在使用 Swift 2.0

class User 
    var name: String
    init (name: String) 
        self.name = name
    

let user1 = User(name: "User")

http://i.stack.imgur.com/Pm4Fk.png

【问题讨论】:

检查你的牙套。你真的想要let user1 = ... 类定义中吗? 感谢回复,不,但把它放在外面没有区别:/ class User var name: String init (name: String) self.name = name let user1 = User(name: "User") 在我的 Xcode 7 中编译没有问题。 好的,这很奇怪:新项目中完全相同位置的完全相同的代码编译得很好(更新了问题) Screenshot 【参考方案1】:

这不是明确的答案,但这可能是错误项目中某处不需要它的初始化程序中的字符串。我记得曾经遇到过由意外名称冲突引起的错误。

【讨论】:

以上是关于无法使用类型为“”的参数列表调用类型“”的初始化程序的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误:无法调用类型为 `......` 的参数列表类型为 `...` 的初始化程序?

无法使用类型为 [重复] 的参数列表调用类型“NSAttributedString”的初始化程序

无法使用类型为“(UInt32)”的参数列表调用类型“CGBitmapInfo”的初始化程序

无法使用类型为“(数字)”的参数列表调用类型“Int”的初始化程序

无法调用类型的初始化程序:使用类型为“(_Element)”的参数列表

无法使用类型为“(数组:[NSData?])”的参数列表调用类型“NSSet”的初始化程序