Q:

Accessing enum values in struct with if statement

Having struct like this:
struct ScrollTableViewColumn {
    var ContentType: ContentType

    enum ContentType {
        case String
        case Numeric(sum: Double, width: CGFloat)
    }
}

I can access the numbers stored in content type with switch statement like this:
switch column.ContentType {
case .Numeric(let sum, let width):
   // do something with sum and width…

How can I achieve similar thing with if statement?

A:

First of all you need to make property names and enum values with a lowercase, so change your enum like this.
enum ContentType {
    case string
    case numeric(sum: Double, width: CGFloat)
}

Now you can use if case this way.
if case .numeric(let sum, let width) = column.ContentType {
     print(sum, width)
}

Edit: You can also make if case like this way.
if case let .numeric(sum, width) = column.ContentType {
     print(sum, width)
}

