当试图调用便利init,Swift时调用额外的参数

当试图调用便利init,Swift时调用额外的参数,第1张

概述我有简单的课程: class WmAttendee{ var mEmail:String! var mName:String! var mType:Int! var mStatus:String = "0" var mRelationShip:String! init( email:String, name:String, type:Int) { 我有简单的课程:

class WmAttendee{    var mEmail:String!    var mname:String!    var mType:Int!    var mStatus:String = "0"    var mRelationShip:String!    init( email:String,name:String,type:Int) {        self.mEmail = email        self.mname = name        self.mType = type    }     convenIEnce init( email:String,type:Int,status:String,relationShip:String) {        self.init(email: email,name: name,type: type)        self.mStatus = status        self.mRelationShip = relationShip    }}

当我尝试用5个参数测试第二个构造函数时,我得到:调用中的额外参数’status’

var att1 = WmAttendee(email: "myMail",name: "Somename",type: 1); // OKvar att2 = WmAttendee(email: "mail2",name: "name2",type: 3,status: "2",relationShip: 3) // ERROR Extra argument 'status' in call

为什么?我错过了什么吗?

谢谢,

解决方法 根据您的方法签名:

convenIEnce init( email:String,relationShip:String)

relationshipStatus应该是String而不是Int:

var att2 = WmAttendee(email: "mail2",relationShip: "3")

由于您没有为relationshipStatus传递正确的类型,因此编译器无法为您的方便init匹配方法签名,并且返回默认初始化(它可以找到的最接近的匹配),这会触发Extra参数错误.

总结

以上是内存溢出为你收集整理的当试图调用便利init,Swift时调用额外的参数全部内容,希望文章能够帮你解决当试图调用便利init,Swift时调用额外的参数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存