Я пытаюсь сделать NSNull
соответствовать NilLiteralConvertible
, но я бегу в огромном количестве разочарования:Изготовление NSNull соответствовать NilLiteralConvertible
extension NSNull : NilLiteralConvertible{
required convenience init(nilLiteral:()){
self.init()
}
}
Прежде всего, я вынужден сделать init
a convenience
один, поскольку я не могу добавить назначенные инициализаторы в расширение.
Затем компилятор сходит с ума и настаивает на том, что init должен быть сделан required
и сразу же после того, как жалобы, что инициализаторы required
должны быть добавлены непосредственно в класс, а не в расширение. WTF ?!
Кто знает, что происходит и как сделать NSNull
соответствовать этому простому протоколу?
Я тестирую это на игровой площадке Xcode.
Что вы Прецедент? – Shuo