Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了当试图调用便利init,Swift时调用额外的参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有简单的课程:

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); // OK

var 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时调用额外的参数所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。