프로토콜

다음 프로토콜은 전 세계적으로 사용할 수 있습니다.

식별 가능

  • Realm 객체의 기본 ID를 정의하는 프로토콜입니다.

    객체 하위 클래스가 이 프로토콜을 준수한다고 선언하면 Realm 객체에서 작동하는 Identifiable id 에 대한 기본 구현을 제공할 수 있습니다.

    // Automatically conforms to `Identifiable`
    class MyObjectType: Object, ObjectKeyIdentifiable {
        // ...
    }
    

    원하는 경우 Identifiable 를 수동으로 준수할 수도 있지만 managed 객체에는 객체의 메모리 주소를 사용할 수 없습니다 .

    더 보기

    선언

    Swift

    @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
    public protocol ObjectKeyIdentifiable : ObjectBase, Identifiable

결합

  • valuePublisher() 또는 changesetPublisher() 에 전달될 수 있는 유형입니다.

    선언

    Swift

    @available(macOS 10.15, watchOS 6.0, iOS 13.0, iOSApplicationExtension 13.0, macOSApplicationExtension 10.15, tvOS 13.0, *)
    public protocol RealmSubscribable
  • 검색, 필터링, 정렬 및 연산이 가능한 Object의 동질적인 컬렉션입니다.

    더 보기

    선언

    Swift

    public protocol RealmCollection : RealmCollectionBase
  • 검색, 필터링, 정렬 및 연산이 가능한 Object의 동질적인 키-값 collection입니다.

    더 보기

    선언

    Swift

    public protocol RealmKeyedCollection : ThreadConfined, CustomStringConvertible, Sequence
  • MongoCollection.watch() 스트림의 변경 사항을 구독하는 데 사용되는 위임입니다.

    더 보기

    선언

    Swift

    public protocol ChangeEventDelegate : AnyObject
  • Realm 객체에 저장할 수 있는 열거형 유형입니다.

    Int로 지원되는 @objc 열거형만 Realm 객체에 저장할 수 있으며 열거형 유형은 이 프로토콜을 명시적으로 준수해야 합니다. 예를 들면 다음과 같습니다.

    @objc enum MyEnum: Int, RealmEnum {
       case first = 1
       case second = 2
       case third = 7
    }
    
    class MyModel: Object {
       @objc dynamic enumProperty = MyEnum.first
       let optionalEnumProperty = RealmOptional<MyEnum>()
    }
    

    선언

    Swift

    public protocol RealmEnum : RealmOptionalType, _RealmSchemaDiscoverable
  • RealmOptional 을 매개변수화할 수 있는 유형을 설명하는 프로토콜입니다.

    선언

    Swift

    public protocol RealmOptionalType
  • Realm 목록, MutableSet 또는 결과에 저장할 수 있는 유형입니다.

    추가 유형을 이 프로토콜을 준수한다고 선언해도 실제로 작동하지는 않습니다. Realm에 값을 저장하는 방법에 대한 로직은 대부분 Swift로 구현되어 있지 않으며, 현재 더 많은 유형을 지원하는 확장 메커니즘도 없습니다.

    선언

    Swift

    public protocol RealmCollectionValue : _RealmSchemaDiscoverable, Hashable
  • RealmPropertyType 을 매개변수화할 수 있는 유형을 설명하는 프로토콜입니다.

    선언

    Swift

    public protocol RealmPropertyType

MinMaxType

  • 최소값 및 최대값 API와 함께 사용할 수 있는 속성 유형입니다.

    ~를 참조하세요.

    min(ofProperty:), max(ofProperty:)

    선언

    Swift

    public protocol MinMaxType

AddableType

  • 합계 및 평균값 API와 함께 사용할 수 있는 속성 유형입니다.

    ~를 참조하세요.

    sum(ofProperty:), average(ofProperty:)

    선언

    Swift

    public protocol AddableType
  • ThreadConfined 을(를) 준수하는 유형의 객체는 Realm에서 관리할 수 있으며, 이를 통해 스레드별 Realm 인스턴스에 바인딩됩니다. managed 객체를 스레드 간에 전달하려면 명시적으로 내보내고 가져와야 합니다.

    이 프로토콜을 준수하는 객체의 managed 인스턴스는 ThreadSafeReference(to:) 생성자에 전달하여 스레드 간 전송을 위한 참고로 변환할 수 있습니다.

    Realm에서 정의한 유형만 이 프로토콜을 유의미하게 준수할 수 있으며, 이를 준수하려고 시도하는 새 클래스를 정의해도 ThreadSafeReference 에서 작동하지 않습니다.

    더 보기

    선언

    Swift

    public protocol ThreadConfined