# CSMigrationType Class Reference

# CSMigrationType

    @objc
    public final class CSMigrationType : NSObject, CoreStoreObjectiveCType

The `CSMigrationType` serves as the Objective-C bridging type for `MigrationType`.

See also

`MigrationType`

- `needsMigration`

  Returns `YES` if the `CSMigrationType`‘s `sourceVersion` and `destinationVersion` do not match. Returns `NO` otherwise.

  #### Declaration

  Swift

      @objc
      public var needsMigration: Bool { get }

- `sourceVersion`

  Returns the source model version for the migration type. If no migration is required, `sourceVersion` will be equal to the `destinationVersion`.

  #### Declaration

  Swift

      @objc
      public var sourceVersion: String { get }

- `destinationVersion`

  Returns the destination model version for the migration type. If no migration is required, `destinationVersion` will be equal to the `sourceVersion`.

  #### Declaration

  Swift

      @objc
      public var destinationVersion: String { get }

- `isLightweightMigration`

  Returns `YES` if the `CSMigrationType` is a lightweight migration. Used as syntactic sugar.

  #### Declaration

  Swift

      @objc
      public var isLightweightMigration: Bool { get }

- `isHeavyweightMigration`

  Returns `YES` if the `CSMigrationType` is a heavyweight migration. Used as syntactic sugar.

  #### Declaration

  Swift

      @objc
      public var isHeavyweightMigration: Bool { get }

### CoreStoreObjectiveCType

- `bridgeToSwift`

  #### Declaration

  Swift

      public let bridgeToSwift: MigrationType

- `init(_:)`

  #### Declaration

  Swift

      public required init(_ swiftValue: MigrationType)