In Swift enumerations, what’s the difference between raw values and associated values?



In Swift enumerations, what’s the difference between raw values and associated values?..

Answer / iosraj

Raw values are used to associate constant (literal) values to enum cases. The value type is part of the enum type, and each enum case must specify a unique raw value (duplicate values are not allowed).

The following example shows an enum with raw values of type Int:

enum IntEnum : Int {

case ONE = 1

case TWO = 2

case THREE = 3

}

An enum value can be converted to its raw value by using the rawValue property:

var enumVar: IntEnum = IntEnum.TWO

var rawValue: Int = enumVar.rawValue

A raw value can be converted to an enum instance by using a dedicated initializer:

var enumVar: IntEnum? = IntEnum(rawValue: 1)

Associated values are used to associate arbitrary data to a specific enum case. Each enum case can have zero or more associated values, declared as a tuple in the case definition:

enum AssociatedEnum {

case EMPTY

case WITH_INT(value: Int)

case WITH_TUPLE(value: Int, text: String, data: [Float])

}

Whereas the type(s) associated to a case are part of the enum declaration, the associated value(s) are instance specific, meaning that an enum case can have different associated values for different enum instances.

Is This Answer Correct ?    2 Yes 0 No

Post New Answer

More Apple iOS Swift Interview Questions

How do you make a bridging header in swift?

0 Answers  


Why is swift important?

0 Answers  


What are the different ways to pass data in swift?

0 Answers  


What is forced unwrapping? Why is it potentially unsafe?

0 Answers  


What is forced unwrapping?

0 Answers  






What is tuple? How to create a tuple in swift?

0 Answers  


Does swift have header files?

0 Answers  


How to convert nsarray to nsmutablearray in swift?

0 Answers  


What is type aliasing in swift?

0 Answers  


What are the advantages of using swift for ios development?

0 Answers  


In Swift enumerations, what’s the difference between raw values and associated values?

1 Answers  


Why do we need closure in swift?

0 Answers  


Categories