유형 별칭

다음 유형 별칭은 전역적으로 사용할 수 있습니다.

Aliases

  • PropertyType Realm 모델에서 지원되는 모든 속성 유형을 설명하는 열거형입니다.

    자세한 내용은 객체 모델 및 스키마 를 참조하세요.

    기본 유형

    • Int
    • Bool
    • Float
    • Double

    Realm 객체 유형

    관계: 배열(Swift에서는 List) 및 Object 유형

    선언

    Swift

    public typealias PropertyType = RLMPropertyType
  • Realm의 변경 사항을 구독하는 메서드에서 반환되는 불투명 토큰입니다.

    ~를 참조하세요.

    Realm.observe(_:)

    선언

    Swift

    public typealias NotificationToken = RLMNotificationToken
  • Realm 앱 구성을 나타내는 객체

    ~를 참조하세요.

    RLMAppConfiguration

    참고

    AppConfiguration 옵션은 이를 사용하는 App 가 생성된 후에는 수정할 수 없습니다. 앱의 구성 값은 앱 생성 시 캐시되므로 이후의 수정 사항은 적용되지 않습니다.

    선언

    Swift

    public typealias AppConfiguration = RLMAppConfiguration
  • Realm Cloud 사용자 API 키에 대해 네트워크 호출을 수행하는 클라이언트를 나타내는 객체

    ~를 참조하세요.

    RLMAPIKeyAuth

    선언

    Swift

    public typealias APIKeyAuth = RLMAPIKeyAuth
  • Realm Cloud 사용자 등록 및 비밀번호 기능에 대한 네트워크 호출을 수행하는 클라이언트를 나타내는 객체

    ~를 참조하세요.

    RLMEmailPasswordAuth

    선언

    Swift

    public typealias EmailPasswordAuth = RLMEmailPasswordAuth
  • 사용자의 소셜 프로필을 나타내는 객체입니다.

    선언

    Swift

    public typealias UserProfile = RLMUserProfile
  • 오류를 보고하는 데 사용되는 차단 유형

    선언

    Swift

    public typealias EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
  • 푸시 알림에 장치를 등록하기 위해 Realm Cloud에서 네트워크 호출을 수행하는 클라이언트를 나타내는 객체입니다.

    ~를 참조하세요.

    를 참조하세요. RLMPushClient

    선언

    Swift

    public typealias PushClient = RLMPushClient
  • UserAPIKeyProviderClient 내에서 사용되는 객체입니다.

    선언

    Swift

    public typealias UserAPIKey = RLMUserAPIKey
  • App

    App 에는 Realm 애플리케이션 백엔드와 통신하기 위한 기본적인 메서드 세트가 있습니다. 이 인터페이스는 로그인 및 인증에 대한 액세스를 제공합니다.

    선언

    Swift

    public typealias App = RLMApp
  • 인증 성공 또는 실패 시 이 위임을 사용하여 콜백을 제공합니다.

    선언

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public typealias ASLoginDelegate = RLMASLoginDelegate
  • AsymmetricObject 비대칭 Realm 객체를 정의하는 데 사용되는 기본 클래스입니다.

    비대칭 객체는 create(_ type:, value:) 함수를 사용해서만 생성할 수 있으며 추가, 제거 또는 쿼리할 수 없습니다. 비대칭 객체는 생성되면 MongoDB database에 단방향으로 동기화되며 로컬에서 액세스할 수 없습니다.

    Object 내에서 비대칭 객체를 연결하는 것은 허용되지 않으며 오류가 발생합니다.

    AsymmetricObject 에서 지원되는 속성 유형은 비대칭 객체가 내장된 객체에만 연결할 수 있다는 점을 제외하고 Object 와 동일하므로 ObjectList<Object> 속성은 지원되지 않습니다(EmbeddedObjectList<EmbeddedObject> ).

    class Person: AsymmetricObject {
        @Persisted(primaryKey: true) var _id: ObjectId
        @Persisted var name: String
        @Persisted var age: Int
    }
    

    선언

    Swift

    public typealias AsymmetricObject = RealmSwiftAsymmetricObject
  • BSON 문서를 나타내는 사전 객체입니다.

    선언

    Swift

    public typealias Document = Dictionary<String, AnyBSON?>
  • MaxKey는 다른 BSON types와 비교할 때 항상 가장 큰 값입니다.

    선언

    Swift

    public typealias MaxKey = RLMMaxKey
  • MinKey는 다른 BSON types와 비교할 때 항상 가장 작은 값입니다.

    선언

    Swift

    public typealias MinKey = RLMMinKey
  • Object Realm 모델 객체를 정의하는 데 사용되는 클래스입니다.

    Realm에서는 Object 을(를) 서브클래스화하고 managed 속성을 추가하여 모델 클래스를 정의합니다. 그런 다음 Object 클래스를 직접 사용하는 대신 사용자 지정 하위 클래스를 인스턴스화하여 사용합니다.

    class Dog: Object {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted var siblings: List<Dog>
    }
    

    지원되는 속성 유형

    • String
    • Int, Int8, Int16, Int32, Int64
    • Float
    • Double
    • Bool
    • Date
    • Data
    • Decimal128
    • ObjectId
    • UUID
    • AnyRealmValue
    • 원시 유형이 법적 속성 유형인 모든 원시 표현 가능 열거형입니다. 열거형은 PersistableEnum 을 준수하는 것으로 명시적으로 표시되어야 합니다.
    • Object 서브클래스, 다대일 관계 모델링
    • EmbeddedObject 하위 클래스, 일대일 관계를 소유한 모델

    AnyRealmValue 을(를) 제외하고 위의 모든 유형이 Optional 일 수 있습니다. ObjectEmbeddedObject 서브클래스는 선택 사항 이어야 합니다.

    개별 값 외에도 세 가지 collection 유형이 지원됩니다.

    • List<Element>: Array 와(과) 유사한 순서가 지정된 변경 가능한 collection입니다.
    • MutableSet<Element>: Set 와(과) 유사한 순서가 지정되지 않은 고유 collection입니다.
    • Map<String, Element>: Dictionary 와(과) 유사한 순서가 지정되지 않은 키-값 collection입니다.

    collection의 요소 유형은 위에 나열된 지원되는 비collection 속성 유형 중 하나일 수 있습니다. collection 자체는 선택 사항이 아닐 수 있지만 Object 또는 EmbeddedObject 하위 클래스의 목록과 세트를 제외하고 collection 내부의 값은 선택 사항일 수 있습니다.

    마지막으로 LinkingObjects 속성을 사용하여 이 속성에 연결되는 객체를 추적할 수 있습니다.

    Realm에 저장해야 하는 모든 속성은 @Persisted 로 명시적으로 표시해야 합니다. @Persisted 으)로 표시되지 않은 모든 속성은 Realm에서 완전히 무시되며 모든 유형이 될 수 있습니다.

    쿼리하기

    objects(_:) 인스턴스 메서드를 호출하여 Realm에서 지정된 유형의 모든 객체를 조회할 수 있습니다.

    관계

    자세한 내용은 Swift 가이드 를 참조하세요.

    선언

    Swift

    public typealias Object = RealmSwiftObject
  • EmbeddedObject 임베디드 Realm 모델 객체를 정의하는 데 사용되는 기본 클래스입니다.

    내장된 객체는 일반 객체와 유사하게 작동하지만 단일 상위 객체(자체적으로 내장될 수 있음)가 소유합니다. 일반적인 최상위 객체와 달리 내장된 객체는 Realm에서 직접 만들거나 Realm에 추가할 수 없습니다. 대신 상위 객체의 일부로 만들거나 관리되지 않는 객체를 상위 객체의 속성에 할당하는 방식으로만 만들 수 있습니다. 내장된 객체는 부모 객체가 삭제되거나 객체 속성을 재할당하거나 포함된 목록에서 내장된 객체를 제거하여 부모가 더 이상 내장된 객체를 가리키지 않도록 부모 객체를 수정하면 내장된 객체가 자동으로 삭제됩니다.

    내장된 객체는 연결되는 상위 객체가 하나만 있을 수 있으며 기존 managed 내장된 객체에 연결하려고 하면 예외가 발생합니다.

    EmbeddedObject 에서 지원되는 속성 유형은 내장된 객체가 최상위 객체에 연결할 수 없다는 점을 제외하면 Object 와 동일하므로 ObjectList<Object> 속성은 지원되지 않습니다(EmbeddedObjectList<EmbeddedObject> ) 입니다.

    내장된 객체는 기본 키나 인덱싱된 속성을 가질 수 없습니다.

    class Owner: Object {
        @Persisted var name: String
        @Persisted var dogs: List<Dog>
    }
    class Dog: EmbeddedObject {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted(originProperty: "dogs") var owner: LinkingObjects<Owner>
    }
    

    선언

    Swift

    public typealias EmbeddedObject = RealmSwiftEmbeddedObject
  • 위도와 경도 값으로 형성되는 점의 좌표를 나타내는 구조체입니다.

    • 위도의 범위는 -90도에서 90도 사이입니다.
    • 경도 범위는 -180도에서 180도 사이입니다.

    이 범위를 벗어나는 값은 GeoPoint 을 만들려고 할 때 nil을 반환합니다.

    참고

    지리 공간적 점을 저장하는 전용 유형은 없으며, 대신 아래 설명된 대로 점을 GeoJson 모양의 내장된 객체로 저장해야 합니다. 지리 공간적 쿼리(geoWithin)는 이러한 유형의 객체에서만 실행할 수 있으며 그렇지 않으면 발생합니다.

    Realm의 지리적 점 유지는 현재 오리 타이핑을 사용하여 수행되며, 이는 특정 모양 을 가진 모든 모델 클래스를 지리적 위치가 포함된 것처럼 쿼리할 수 있음을 의미합니다.

    다음 사항이 필요합니다.

    • Point 값이 @Persisted var type: String = "Point" 인 String 속성입니다.
    • 경도/위도 쌍을 포함하는 목록: @Persisted private var coordinates: List<Double>.

    권장되는 접근 방식은 내장된 객체를 사용하는 것입니다.

    public class Location: EmbeddedObject {
      @Persisted private var coordinates: List<Double>
      @Persisted private var type: String = "Point"
    
      public var latitude: Double { return coordinates[1] }
      public var longitude: Double { return coordinates[0] }
    
      convenience init(_ latitude: Double, _ longitude: Double) {
          self.init()
          // Longitude comes first in the coordinates array of a GeoJson document
          coordinates.append(objectsIn: [longitude, latitude])
        }
      }
    

    경고

    이 구조는 지속될 수 없으며 (GeoBox, GeoPolygonGeoCircle)와 같은 다른 지리 공간적 도형을 빌드하는 데만 사용할 수 있습니다.

    선언

    Swift

    public typealias GeoPoint = RLMGeospatialPoint
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 사각형을 나타내는 클래스입니다.

    경고

    이 클래스는 지속될 수 없으며 지리 공간적 geoWithin 쿼리 내에서만 사용할 수 있습니다.

    선언

    Swift

    public typealias GeoBox = RLMGeospatialBox
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 다각형을 나타내는 클래스입니다.

    GeoPolygonouterRing 라고 하는 외부 Polygon 및 외부 Polygon 내부의 내부 구멍 수에 제한이 없는 0개 이상의 내부 Polygon holes 를 준수하는 모양을 설명합니다. Polygon 는 최소 3개의 세그먼트를 준수하는 모양을 설명하며, 닫힌 다각형을 나타내려면 마지막 GeoPoint 과 첫 번째 이 동일해야 합니다(즉, 다각형을 정의하려면 최소 4개의 점이 필요합니다). GeoPolygon 의 내부 구멍은 완전히 외부 링 내부에 있어야 합니다.

    hole 에는 다음과 같은 제한 사항이 있습니다.

    • 홀은 교차할 수 없습니다. 즉, 홀의 경계는 다른 홀의 내부와 외부 모두와 교차할 수 없습니다.
    • 구멍은 가장자리를 공유할 수 없습니다.
    • 구멍은 꼭지점을 공유할 수 있지만, 단일 구멍에 꼭지점이 두 번 나타날 수는 없습니다.
    • 빈 구멍이 없을 수 있습니다.
    • 중첩은 하나만 허용됩니다.

    경고

    이 클래스는 지속될 수 없으며 지리 공간적 geoWithin 쿼리 내에서만 사용할 수 있습니다.

    경고

    고도는 쿼리 계산에 사용되지 않습니다.

    선언

    Swift

    public typealias GeoPolygon = RLMGeospatialPolygon
  • 이 구조체는 거리를 나타내거나 변환하는 헬퍼입니다. 다음과 같은 지리 공간적 쿼리에 사용할 수 있습니다. GeoCircle

    경고

    이 구조는 지속될 수 없으며 다른 지리 공간적 형태를 만드는 데만 사용할 수 있습니다.

    선언

    Swift

    public typealias Distance = RLMDistance
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 원을 나타내는 클래스입니다.

    경고

    이 클래스는 지속될 수 없으며 지리 공간적 geoWithin 쿼리 내에서만 사용할 수 있습니다.

    선언

    Swift

    public typealias GeoCircle = RLMGeospatialCircle
  • Realm을 마이그레이션하는 데 사용되는 마이그레이션 블록의 유형입니다.

    선언

    Swift

    public typealias MigrationBlock = @Sendable (_ migration: Migration, _ oldSchemaVersion: UInt64) -> Void

    매개변수

    migration

    마이그레이션을 수행하는 데 사용되는 Migration 객체입니다. 마이그레이션 객체를 사용하면 마이그레이션이 필요한 기존 객체를 열거하고 변경할 수 있습니다.

    oldSchemaVersion

    마이그레이션되는 Realm의 스키마 버전입니다.

  • 마이그레이션 중에 사용되는 객체 클래스입니다.

    선언

    Swift

    public typealias MigrationObject = DynamicObject
  • Realm에 있는 객체의 이전 버전과 새 버전을 모두 제공하는 차단 유형입니다. 객체 속성은 첨자를 사용해야 액세스할 수 있습니다.

    선언

    Swift

    public typealias MigrationObjectEnumerateBlock = (_ oldObject: MigrationObject?, _ newObject: MigrationObject?) -> Void

    매개변수

    oldObject

    원래 Realm의 객체입니다(읽기 전용).

    newObject

    마이그레이션된 Realm(읽기-쓰기)의 객체입니다.

  • Migration 인스턴스는 스키마 마이그레이션을 용이하게 하기 위한 정보를 캡슐화합니다.

    Realm 버전을 업데이트할 때 인스턴스 Migration 가 사용자 정의 MigrationBlock 블록으로 전달됩니다. 이 인스턴스는 이전 및 새 데이터베이스 스키마, Realm의 객체에 대한 액세스를 제공하고 마이그레이션 중에 Realm을 수정하는 기능을 제공합니다.

    선언

    Swift

    public typealias Migration = RLMMigration
  • MongoClient 을(를) 사용하면 Realm cloud 서비스를 통해 MongoDB database에서 읽고 쓸 수 있습니다.

    MongoDatabase 의 인스턴스에 대한 액세스를 제공하며, 차례로 데이터를 보유하는 특정 MongoCollection에 대한 액세스를 제공합니다.

    참고

    데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.

    다음의 사항도 참조하세요.

    App, MongoDatabase, MongoCollection

    선언

    Swift

    public typealias MongoClient = RLMMongoClient
  • MongoDatabase 은(는) 데이터가 포함된 collection 그룹을 보유하는 MongoDB database를 나타냅니다.

    MongoClient 에서 검색할 수 있습니다.

    데이터 읽기 및 쓰기를 위한 MongoCollection을(를) 가져오는 데 사용합니다.

    참고

    데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.

    다음의 사항도 참조하세요.

    MongoClient, MongoCollection

    선언

    Swift

    public typealias MongoDatabase = RLMMongoDatabase
  • MongoCollection 에서 find 명령을 실행할 때 사용할 옵션입니다.

    선언

    Swift

    public typealias FindOptions = RLMFindOptions
  • 에서 , 또는 명령을 실행할 때 사용할 findOneAndUpdate findOneAndReplace findOneAndDelete MongoCollection옵션입니다.

    선언

    Swift

    public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
  • updateOne 또는 updateMany 작업의 MongoCollection 결과입니다.

    선언

    Swift

    public typealias UpdateResult = RLMUpdateResult
  • 삽입 성공 또는 Result.failure(오류) 시 Result.success(DocumentId) 를 반환하는 차단

    선언

    Swift

    public typealias MongoInsertBlock = @Sendable (Result<AnyBSON, Error>) -> Void
  • insertMany 또는 Result.failure(error) 성공 시 Result.success([ObjectId]) 를 반환하는 차단

    선언

    Swift

    public typealias MongoInsertManyBlock = @Sendable (Result<[AnyBSON], Error>) -> Void
  • 찾기 작업이 성공한 경우 Result.success([문서]) 또는 Result.failure(error) 를 반환하는 차단

    선언

    Swift

    public typealias MongoFindBlock = @Sendable (Result<[Document], Error>) -> Void
  • findOne 작업이 성공한 경우 Result.success(문서?) 또는 Result.failure(error)를 반환하는 차단

    선언

    Swift

    public typealias MongoFindOneBlock = @Sendable (Result<Document?, Error>) -> Void
  • 성공적인 카운트 연산에 대해 Result.success(Int) 또는 Result.failure(error) 를 반환하는 차단

    선언

    Swift

    public typealias MongoCountBlock = @Sendable (Result<Int, Error>) -> Void
  • 업데이트 작업이 성공하면 Result.success(UpdateResult) 또는 Result.failure(error)를 반환하는 차단

    선언

    Swift

    public typealias MongoUpdateBlock = @Sendable (Result<UpdateResult, Error>) -> Void
  • MongoCollection 은(는) MongoDB collection을 나타냅니다.

    MongoDatabase 에서 인스턴스를 가져올 수 있습니다.

    생성, 읽기, 업데이트 및 삭제 메서드를 사용할 수 있습니다.

    Realm Cloud 서버에 대한 작업은 비동기적으로 수행됩니다.

    참고

    데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.

    다음의 사항도 참조하세요.

    MongoClient, MongoDatabase

    선언

    Swift

    public typealias MongoCollection = RLMMongoCollection
  • WatchStream으로 중개자 역할을 하며 이벤트를 처리합니다.

    선언

    Swift

    public typealias ChangeStream = RLMChangeStream
  • 비동기 트랜잭션의 ID입니다.

    선언

    Swift

    public typealias AsyncTransactionId = RLMAsyncTransactionId

알림

  • Realm의 데이터가 수정될 때 알림을 위해 실행할 차단 유형입니다.

    선언

    Swift

    public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void
  • Logger 사용자 지정 로깅 로직을 만드는 데 사용됩니다.

    Logger 의 인스턴스를 생성하는 자체 로거를 정의하고 로그 메시지가 있을 때마다 호출되는 로그 함수를 정의할 수 있습니다.

    let logger = Logger(level: .all) { level, message in
       print("Realm Log - \(level): \(message)")
    }
    

    Logger.shared 을(를) 사용하여 이 사용자 지정 로거를 기본 로거로 설정합니다.

       Logger.shared = inMemoryLogger
    

    참고

    기본적으로 로그 임계값 수준은 .info 이며, 로깅 문자열은 Apple System Logger로 출력됩니다.

    선언

    Swift

    public typealias Logger = RLMLogger
  • Atlas App Services 사용자를 나타내는 객체입니다.

    ~를 참조하세요.

    RLMUser

    선언

    Swift

    public typealias User = RLMUser
  • Atlas App Services 동기화 관련 기능을 managed하고 관리하는 관리자입니다.

    ~를 참조하세요.

    RLMSyncManager

    선언

    Swift

    public typealias SyncManager = RLMSyncManager
  • 동기화 클라이언트에서 시간 초과 및 간격을 구성하기 위한 옵션입니다.

    ~를 참조하세요.

    RLMSyncTimeoutOptions

    선언

    Swift

    public typealias SyncTimeoutOptions = RLMSyncTimeoutOptions
  • 특정 Realm에 대한 클라이언트와 서버 간의 통신을 나타내는 세션 객체입니다.

    ~를 참조하세요.

    RLMSyncSession

    선언

    Swift

    public typealias SyncSession = RLMSyncSession
  • 애플리케이션에 오류를 보고할 수 있도록 SyncManager 에 설정할 수 있는 클로저의 클로저 유형입니다.

    ~를 참조하세요.

    RLMSyncErrorReportingBlock

    선언

    Swift

    public typealias ErrorReportingBlock = RLMSyncErrorReportingBlock
  • 특정 API에서 SyncUser 객체를 애플리케이션에 비동기적으로 반환하기 위해 특정 API에서 사용하는 클로저의 유형입니다.

    ~를 참조하세요.

    RLMUserCompletionBlock

    선언

    Swift

    public typealias UserCompletionBlock = RLMUserCompletionBlock
  • SDK의 동기화 기능과 관련된 오류입니다. SyncManager 에 등록된 오류 핸들러에서 보고한 모든 오류가 이 유형에 속합니다.

    ~를 참조하세요.

    RLMSyncError

    선언

    Swift

    public typealias SyncError = RLMSyncError
  • 서버에서 거부된 쓰기에 대한 확장 정보입니다.

    서버는 권한, 추가 서버 측 유효성 검사 실패 또는 객체가 Flexible Sync 구독과 일치하지 않는다는 이유로 클라이언트가 수행한 쓰기를 거부하는 경우가 있습니다. 이 경우 nil이 아닌 SyncError.compensatingWriteInfo 필드와 함께 거부된 쓰기 및 그 이유에 대한 정보와 함께 .writeRejected 오류가 보고됩니다.

    이 정보는 디버깅 및 로깅 목적으로만 사용됩니다. reason 문자열은 서버에서 생성되며 안정성이 보장되지 않으므로 프로그래밍 방식으로 이 문자열을 사용하려고 하면 경고 없이 중단됩니다.

    선언

    Swift

    public typealias CompensatingWriteInfo = RLMCompensatingWriteInfo
  • Atlas App Services에 요청할 때 오류가 발생했습니다. 실패할 수 있는 대부분의 사용자 및 앱 함수에서 이러한 유형의 오류를 보고합니다.

    선언

    Swift

    public typealias AppError = RLMAppError
  • 로깅 수준을 지정하는 데 사용할 수 있는 열거형입니다.

    ~를 참조하세요.

    RLMSyncLogLevel

    선언

    Swift

    public typealias SyncLogLevel = RLMSyncLogLevel
  • Atlas App Services와 함께 사용할 수 있는 다양한 인증 제공자를 값으로 나타내는 데이터 유형입니다.

    ~를 참조하세요.

    RLMIdentityProvider

    선언

    Swift

    public typealias Provider = RLMIdentityProvider
  • Realm 파일 을 처음 열 때 초기 구독이 채워지는 방식을 제어하는 구성입니다.

    ~를 참조하세요.

    RLMInitialSubscriptionsConfiguration

    선언

    Swift

    public typealias InitialSubscriptionsConfiguration = RLMInitialSubscriptionsConfiguration