Whether you will use lazy var or not depends on your code and its context. This is not bad or good in itself. You must decide when appropriate.
Before you can solve this, you must know what lazy var .
What is lazy var ?
Lazy initialization is a concept in which the initialization (construction) of a content variable is delayed until it is first used. The first access to such a variable starts initialization. Since the content is not created until the variable is used (necessary), using lazy initialized variables can save resources.
This is the main drive behind lazy initialization. You do not create something until you need it. This is also the logic that you will use when deciding whether something should be lazy var or not.
If you are dealing with representations (or anything else) that are always visible (necessary), it makes little sense to use lazy initialization. On the other hand, when you are dealing with instances that are not always needed, then using lazy var justified.
If your view is always displayed in the presented view controller, you cannot achieve more by making it lazy. If this is visible only under certain circumstances - for example, when the user expands some kind of folded panel, then making it lazy makes sense. This will make your view controller load faster and use less memory by default.
Regarding thread safety, lazy var are not thread safe in Swift.
This means that if two different threads try to access the same lazy var at the same time before such a variable is initialized, it is possible that one of the threads will gain access to a partially constructed instance.
For more information on thread safety, see:
Lift lazy var thread-safe?
Make "lazy var" threadsafe