【发布时间】:2014-11-08 21:17:51
【问题描述】:
我试图让NSNull 符合NilLiteralConvertible,但我遇到了极大的挫折:
extension NSNull : NilLiteralConvertible{
required convenience init(nilLiteral: ()){
self.init()
}
}
首先,我不得不将 init 设为 convenience 一个,因为我无法在扩展中添加指定的初始化程序。
然后,编译器发疯了,坚持必须将 init 设为 required,然后立即抱怨必须将 required 初始化器直接添加到类中,而不是在扩展中。 WTF?!
有人知道发生了什么以及如何使NSNull 符合这个简单的协议吗?
我正在 Xcode 操场上对此进行测试。
【问题讨论】:
-
你的用例是什么?
标签: cocoa swift protocols swift-playground nsnull