Realm 既にリリースされたアプリのテーブル項目変更対応

例:テーブルHistoryDetailに項目isCheckOut(Bool)を削除、項目checkOutDarts(Int)を追加して、以前isCheckOutはtureの場合、checkOutDartsは3に設定、それ以外0に設定:

appDelegate.swiftのfunctionapplication(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?)に下記のコードを追加する:

let config = Realm.Configuration(
    schemaVersion: 1,  //Increment this each time your schema changes
    migrationBlock: { migration, oldSchemaVersion in
        if (oldSchemaVersion < 1) {
            migration.enumerateObjects(ofType: HistoryDetail.className()) { oldObject, newObject in
                let isCheckOut = oldObject!["isCheckOut"] as! Bool
                newObject!["checkOutDarts"] = isCheckOut ? 3 : 0
            }
        }
})
Realm.Configuration.defaultConfiguration = config

参考:RealmのドキュメントのMigrationsチャプターを一読してください。