Swift OptionSet

So if you need a property which might have more than one enum case, you can use OptionSet. Bitwise shift operator is used to take advantage of OptionSet features such as intersection and union: CakeIngredients(rawValue: 3) means banana and strawberry because rawValue of banana is 1 and rawValue of strawberry is 2 and sum is…