Mobile Development Swift Subjective
Oct 04, 2025

Explain the difference between lazy and computed properties.

Detailed Explanation
Lazy and computed properties serve different purposes in Swift property management.\n\n• **Lazy Properties:**\n• Calculated only when first accessed\n• Stored after first calculation\n• Must be declared with var\n• Cannot have observers\n\n\nclass DataManager { \n var expensiveResource: ExpensiveClass = {\n print("Creating expensive resource")\n return ExpensiveClass()\n }()\n \n var processedData = self.rawData.map { $0.processed() }\n}\n\n\n• **Computed Properties:**\n• Calculated every time accessed\n• Not stored in memory\n• Can have getter and setter\n• Can have property observers\n\n\nstruct Rectangle { \n var width: Double\n var height: Double\n \n var area: Double {\n get {\n return width * height\n }\n set {\n // Assuming square for simplicity\n width = sqrt(newValue)\n height = sqrt(newValue)\n }\n }\n}\n\n\n• **When to Use:**\n• **Lazy:** Expensive initialization, optional resources\n• **Computed:** Dynamic values, derived properties\n\n• **Performance:**\n• Lazy: One-time cost, then fast access\n• Computed: Calculation cost on every access
Discussion (0)

No comments yet. Be the first to share your thoughts!

Share Your Thoughts
Feedback