This post is like a sum up of sum ways to configure your property

##### Using anonymous function

Ah, by the way, did you know that

• You shouldn’t call access label in ViewController deinit, because it is lazy and we have weak self
• lazy increases your compile time
##### configure Block as extension

This https://github.com/devxoul/Then makes it easier to configure your property as an extension to NSObject

so we have

We have to declare label: UILabel to use [weak self]

##### init without extension

I try to avoid extension, after reading this http://nshipster.com/new-years-2016/

we can use it like

We have to declare label: UILabel to use [weak self]

##### anonymous function again

This https://gist.github.com/erica/4fa60524d9b71bfa9819 makes configuration easier