Mobile Development
Swift
Subjective
Oct 04, 2025
What are associated values in Swift enums?
Detailed Explanation
Associated values allow Swift enums to store additional data alongside case values.\n\n• **Basic Syntax:**\n\nenum Result {\n case success(T)\n case failure(E)\n}\n\nenum NetworkResponse {\n case success(Data, HTTPURLResponse)\n case failure(Error)\n case loading(progress: Double)\n}\n\n\n• **Pattern Matching:**\n\nlet response = NetworkResponse.success(data, httpResponse)\n\nswitch response {\ncase .success(let data, let response):\n print("Success with \(data.count) bytes")\ncase .failure(let error):\n print("Failed: \(error)")\ncase .loading(let progress):\n print("Loading: \(progress * 100)%")\n}\n\n\n• **Advanced Usage:**\n\nenum Expression {\n case number(Int)\n case addition(Expression, Expression)\n case multiplication(Expression, Expression)\n \n func evaluate() -> Int {\n switch self {\n case .number(let value):\n return value\n case .addition(let left, let right):\n return left.evaluate() + right.evaluate()\n case .multiplication(let left, let right):\n return left.evaluate() * right.evaluate()\n }\n }\n}\n\n\n• **Benefits:**\n• Type-safe data storage\n• Eliminates need for multiple types\n• Powerful pattern matching\n• Recursive data structures
Discussion (0)
No comments yet. Be the first to share your thoughts!
Share Your Thoughts