gpt4 book ai didi

swift - 为什么我现在必须在 Swift 中覆盖我的 init?

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:36 25 4
gpt4 key购买 nike

import Foundation

class Student: NSObject
{
var name: String
var year: Int
var major: String
var gpa : String

init(name:String, year:Int, major:String, gpa:String)
{
self.name = name
self.year = year
self.major = major
self.gpa = gpa
}

convenience init()
{
//calls longer init method written above
}
}

--

错误显示在 convenience init 行

Overriding declaration requires an 'override' keyword

我已经尝试使用谷歌搜索并阅读有关 Swift 中初始化程序的指南,但似乎他们能够在不覆盖任何内容的情况下使他们的初始化程序正常运行。

最佳答案

initNSObject 的指定初始化程序。如果覆盖它,则必须将其标记为 override 并调用父类(super class)指定的初始化程序。这遵循 normal rules for initializer inheritance .

关于swift - 为什么我现在必须在 Swift 中覆盖我的 init?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32916620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com