【发布时间】:2014-06-27 15:48:17
【问题描述】:
这段代码
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? 类型(注意:后缀 ?)。我尝试了各种类型的强制转换和[?!] 在某些地方后缀,但它没有修复任何问题。
另外,大概NSValue(nonretainedObject:) 必须调用指定的初始化器,对吧?
【问题讨论】: