我试图使NSNull符合NilLiteralConvertible,但我遇到了巨大的挫败感:
extension NSNull : NilLiteralConvertible{
required convenience init(nilLiteral: ()){
self.init()
}
}
首先,我不得不做init一个convenience,因为我不能在扩展中添加指定的初始化程序。
然后,编译器发疯并坚持必须进行初始化required,并且在抱怨required必须将初始化程序直接添加到类而不是扩展之后立即进行。怎么回事?!

任何人都知道发生了什么以及如何使NSNull符合这个简单的协议?
我正在 Xcode 操场上对此进行测试。