Protocolo Swift Implement LiteralConvertible

Estou tentando implementar o protocolo IntegerLiteralConvertible emUIColor. O que eu realmente gostaria de fazer é isso

 let black: UIColor = 0x000000

Eu tentei seguir o blog rápido aquihttps://developer.apple.com/swift/blog/?id=8 o que não funciona imediatamente. Parece de acordo com o fluxo rápidohttps://github.com/ksm/SwiftInFlux#literalconvertible-protocols-use-constructor que eles não estão mais usando convertFromIntegerLiteral e, em vez disso, usam o inicializador. Portanto, é o que devemos ter:

extension UIColor: IntegerLiteralConvertible {
    public convenience init(integerLiteral value: IntegerLiteralType) {
    UIColor(red: 1, green: 0, blue: 0, alpha: 1)
    }
}

Mas então o que se passa dentro do inicializador? Eu não posso me definir. Eu gostaria de dizer algo como

self.init(red: 0, green: 0, blue: 0, alpha: 1)

isso não funciona e nada mais parece. Eu recebo o erro "requisito de inicialização init (IntegerLiteral) só pode ser atendido por um inicializador 'obrigatório' na definição da classe não final 'UIColor'", o que não ajuda muito. Alguma idéia de como fazer isso funcionar?