Mastering Swift Enums: Unlocking the Power of Enumeration
enum Fruit {
case apple
case banana
case orange
}
enum CompassDirection: String {
case north = "N"
case south = "S"
case east = "E"
case west = "W"
}
// "N", "S", "E" and "W" are raw values
let direction = CompassDirection.north
print(direction.rawValue) // Output: "N"
enum Result<T, E> {
case success(T)
case failure(E)
}
enum DayOfWeek: CaseIterable {
case sunday, monday, tuesday, wednesday, thursday, friday, saturday
}
for day in DayOfWeek.allCases {
print(day)
}
enum Status {
case active
case inactive
@unknown case futureCase
}
enum HTTPStatus {
case success
case notFound
func description() -> String {
switch self {
case .success:
return "Success"
case .notFound:
return "Not Found"
}
}
}
let result: Result<Int, Error> = .success(42)
switch result {
case .success(let value):
print("Success: \(value)")
case .failure(let error):
print("Failure: \(error)")
}
enum UserAction {
case login(username: String, password: String)
case logout
case resetPassword(email: String?) // optional case
}
领英推荐
protocol CustomStringConvertible {
var description: String { get }
}
enum Color {
case red, green, blue
}
extension Color: CustomStringConvertible {
var description: String {
switch self {
case .red:
return "Red"
case .green:
return "Green"
case .blue:
return "Blue"
}
}
}
Director - Big Data & Data Science & Department Head at IBM
1 年?? Quality SAS Certification practice exams are just a click away at www.analyticsexam.com/sas-certification. Dive in and dominate! ?? #SASDominate #CertificationSuccess #AnalyticsExam