Sunday, 15 June 2014

generics - Initializers as a way of converting to new types in Swift -



generics - Initializers as a way of converting to new types in Swift -

i have next type called maybe:

enum maybe<t>:{ case nil case something(t) init(){ self = .nothing } init(_ something: t){ self = .something(something) } }

i expecting code phone call sec initializer, convert int maybe<nsdate>:

var c : maybe<nsdate> = nsdate()

no so. how can create above code work (as builtin optional does)?

you need phone call initializer:

var c = maybe(nsdate()) // type of c inferred maybe<nsdate>

swift's optional type relies on compiler magic allow direct assignment some<t> case without explicitly calling initializer.

generics swift optional initializer

No comments:

Post a Comment