DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 966,904 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Romain Sickenberg
Romain Sickenberg

Posted on

Are you using Lazy for your UIView Components ?

Hey folks,

First time I wrote on Dev!

I have a simple question for you my Swifters and iOS developers.

Do you use Lazy implementation on your conception?

// Without Lazy
var imageView: UIImageView = {
     let imageView = UIImageView(forAutoLayout: ())
     imageView.image = Asset.mapIconBold.image
     imageView.frame = CGRect(x: 0, y: 0, width: 10, height: 10)

     return imageView
}()

// With Lazy
lazy var reloadNavBarButton: BaseButton = {
    let button = BaseButton(frame: CGRect(x: 0, y: 0, width: 60, height: 60))
    button.configureForAutoLayout()
    button.setImage(Asset.reload.image, for: .normal)
    button.imageView?.setImageColor(color: .white)
    button.addTarget(self, action: #selector(reloadApplication), for: .touchUpInside)
    button.isHidden = true
    button.contentEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 15, right: 10)

    return button
}()

Enter fullscreen mode Exit fullscreen mode

See you !

Top comments (2)

Collapse
 
acodeguy profile image
Andrew

I almost always make my UI components lazy. I also make them private 😜

Collapse
 
rsickenberg profile image
Romain Sickenberg Author

Well, I used to make them private but sometimes I modify them through the ViewController, in my case, Protected would be ideal but it does not exist in Swift.

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.