There is no type initializer in Swift—-One answer is to use static, it is the same as class final.

“Unlike stored instance properties, you must always give stored type properties a default value. This is because the type itself does not have an initializer that can assign a value to a stored type property at initialization time.”

Excerpt From: Apple Inc. “The Swift Programming Language.” iBooks.


You could use a type property which default value is a closure. So the code in the closure would be executed when the type property(or class variable) is set.


But class stored properties not yet supported (tested in Xcode 8).

One ​​answer is to use static

code>, it is the same as class final.

Good link for that is

Setting a Default Property Value with a Closure or Function

Excerpt From: Apple Inc. “The Swift Programming Language.” iBooks.


Code exampl e:


Prints

start

setting default property value with a closure

So it is lazy evaluated.

https://stackoverflow.com/questions/24137212/initialize-class-method-for-classes-in-swift

p>

Leave a Comment

Your email address will not be published.