2017-04-17 4 views

Répondre

0

Il existe un protocole nommé ExpressibleByIntegerLiteral. Si votre classe se conforme à ce protocole, elle vous permet de vous initier en utilisant une syntaxe similaire à celle que vous avez montrée. Il existe d'autres protocoles comme par exemple. ExpressibleByStringLiteral qui fonctionne d'une manière souriante. NSNumber se conforme simplement au protocole ExpressibleByIntegerLiteral ce qui signifie qu'il implémente init(integerLiteral value: Self.IntegerLiteralType) qui est utilisé dans ce cas.