마이그레이션
extension Migration
-
이 Realm에서 지정된 유형의 모든 객체를 열거하여 각 객체의 이전 버전과 새 버전을 모두 제공합니다. 객체의 속성은 첨자를 사용하여 액세스할 수 있습니다.
선언
Swift
public func enumerateObjects(ofType typeName: String, _ block: MigrationObjectEnumerateBlock)
매개변수
objectClassName
열거할
Object
클래스의 이름입니다.block
이 Realm에서 객체의 이전 버전과 새 버전을 모두 제공하는 차단입니다.
-
마이그레이션되는 Realm에서
className
유형의Object
를 만들고 반환합니다.value
인수는 객체를 채우는 데 사용됩니다. 키-값 코딩을 준수하는 객체,NSJSONSerialization
의 메서드에서 반환된 배열 또는 사전 또는 각 managed 속성에 대해 하나의 요소를 포함하는Array
일 수 있습니다. 필수 속성이 없고 해당 속성이 기본값으로 정의되지 않은 경우 예외가 발생합니다.Array
를value
인수로 전달할 때 모든 속성이 존재하고 유효해야 하며 모델에 정의된 속성과 동일한 순서여야 합니다.선언
Swift
@discardableResult public func create(_ typeName: String, value: Any = [Any]()) -> MigrationObject
매개변수
className
생성할
Object
클래스의 이름입니다.value
생성된 객체를 채우는 데 사용되는 값입니다.
반환 값
새로 생성된 객체입니다.
-
마이그레이션 중에 Realm에서 객체를 삭제합니다.
enumerate(_:block:)
에 전달된 블록 내에서 이 메서드를 호출할 수 있습니다.선언
Swift
public func delete(_ object: MigrationObject)
매개변수
object
마이그레이션되는 Realm에서 삭제할 객체입니다.
-
지정된 클래스의 속성 이름을
oldName
에서newName
로 바꿉니다.선언
Swift
public func renameProperty(onType typeName: String, from oldName: String, to newName: String)
매개변수
className
속성의 이름을 변경해야 하는 클래스의 이름입니다. 이 클래스는 이전 Realm 스키마와 새 Realm 스키마 모두에 있어야 합니다.
oldName
이름을 바꿀 속성의 이전 열 이름입니다. 새 Realm 스키마에 의해 정의된 클래스에 이 이름을 가진 속성이 없어야 합니다.
newName
이름을 바꿀 속성의 새 열 이름입니다. 이전 Realm 스키마에 의해 정의된 클래스에 이 이름을 가진 속성이 없어야 합니다.