我想用我指定的初始化程序初始化一个类,以避免在未初始化所有实例变量的情况下使用该对象。由于某种原因,我无法在 Swift 2 中将 init() 方法标记为私有(private)。我已在 swift 1.2 中将 init() 方法标记为私有(private)。它在 Swift 2.0 中被删除了吗?有没有办法将 init() 标记为私有(private)!?
最佳答案
也许你应该试试这个模式:
class PrivateInitObject: NSObject {
var text: String!
internal init(withText text: String){
super.init()
self.text = text
}
}
然后你可以看到没有public init()
class someClass {
let obj = PrivateInitObject(withText: "some text")
let obj2 = PrivateInitObject() // compile error, init() is private
}
关于ios - 如何在 swift 中将父类(super class)初始值设定项标记为私有(private)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33239307/