Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

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

Answer Posted / 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       View All Answers


Please Help Members By Posting Answers For Below Questions

What are type methods in swift?

715


Can you explain completion handler?

758


Explain core data.

761


What is a delegate in swift?

778


Is swift a good language?

708


Explain some common features of protocols & superclasses.

856


What is memory leak in swift?

770


What is mvvm in swift?

752


What is atomic swift?

707


What is forced unwrapping?

832


How does a swift transfer work?

714


What are the different control transfer statements used in swift?

781


What is dynamic dispatch swift?

751


How do I create a bridge header in swift 4?

755


Explain what is half-open range operator?

745