このコード
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:)指定された初期化子を呼び出す必要がありますよね?