このコード
class ID<T: AnyObject> : NSValue {
init(baseObject: T) {
super.init(nonretainedObject: baseObject)
}
}
次のコンパイラ エラーが発生します。
error: must call a designated initializer of the superclass 'NSValue'
super.init(nonretainedObject: baseObject)
^
どうすればこれを取り除くことができますか?
思ったこと
NSValue
イニシャライザにAnyObject?
タイプがあるため、エラーが発生した可能性があると思いました(よく注意してください: postfix ?
)。さまざまな種類のキャストと[?!]
後置をいくつか試しましたが、何も修正されませんでした。
また、おそらくNSValue(nonretainedObject:)
指定された初期化子を呼び出す必要がありますよね?