클래스

다음 클래스는 전 세계적으로 사용할 수 있습니다.

RLMAppConfiguration

  • 특정 Realm 애플리케이션과 통신하는 클라이언트의 구성을 나타내는 속성입니다.

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

    더 보기

    선언

    Objective-C

    @interface RLMAppConfiguration : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMAppConfiguration : NSObject, NSCopying

RLMApp

  • RLMApp 에는 Realm 애플리케이션 백엔드와 통신하기 위한 기본적인 메서드 세트가 있습니다.

    이 인터페이스는 로그인 및 인증에 대한 액세스를 제공합니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMApp : NSObject

    Swift

    @_nonSendable(_assumed) class RLMApp : NSObject, @unchecked Sendable
  • RLMArray Realm에서 to-many 관계를 정의하는 데 사용되는 컨테이너 유형입니다.

    NSArray 와 달리 RLMArrayobjectClassName 속성으로 지정된 단일 유형을 보유합니다. 이 Docs에서는 이를 배열의 "유형"이라고 합니다.

    RLMArray 속성을 선언할 때 유형은 포함해야 하는 객체와 동일한 이름을 사용하여 프로토콜을 준수하는 것으로 표시해야 합니다( RLM_COLLECTION_TYPE 매크로 참조). 또한 컴파일 타임 형식 안전성을 높이기 위해 Objective-C 제네릭을 사용하여 속성을 선언할 수 있습니다.

    RLM_COLLECTION_TYPE(ObjectType)
    ...
    @property RLMArray<ObjectType *><ObjectType> *arrayOfObjectTypes;
    

    RLMArray와(과) 동일한 조건자를 사용하여 RLMObjectRLMResult을(를) 쿼리할 수 있습니다.

    RLMArrays는 직접 만들 수 없습니다. RLMArrayRLMObject속성은 액세스할 때 느리게 생성되거나 Realm을 쿼리하여 얻을 수 있습니다.

    키-값 관찰

    RLMArray RLMObject 서브클래스의 RLMArray 속성에서 배열 키-값 관찰을 지원하며, RLMArray 인스턴스의 invalidated 속성은 RLMArray 가 managed RLMObject 에 연결될 때 키-값 관찰을 준수합니다(RLMArray관리되지 않는 RLMObject의 은 절대로 무효화되지 않습니다).

    RLMArray는 속성인 객체에 연결되어 있으므로 -mutableArrayValueForKey: 의 변경 가능한 collection 프록시 객체 또는 포함 객체에서 KVC 호환 변형 메서드를 사용할 필요가 없습니다. 대신 RLMArray 에서 변형 메서드를 직접 호출할 수 있습니다.

    더 보기

    선언

    Objective-C

    @interface RLMArray<RLMObjectType> : NSObject <RLMCollection>

    Swift

    @_nonSendable(_assumed) class RLMArray<RLMObjectType> : NSObject, RLMCollection where RLMObjectType : AnyObject
  • RLMAsymmetricObject 비대칭 Realm 객체를 정의하는 데 사용되는 기본 클래스입니다.

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

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

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

    더 보기

    선언

    Objective-C

    @interface RLMAsymmetricObject : RLMObjectBase

    Swift

    @_nonSendable(_assumed) class RLMAsymmetricObject : RLMObjectBase
  • 비동기 열기를 관찰하거나 취소하는 데 사용할 수 있는 작업 객체입니다.

    동기화된 Realm이 비동기적으로 열리면 완료 콜백이 호출되기 전에 서버에서 Realm의 최신 상태가 다운로드됩니다. 이 작업 객체를 사용하여 다운로드 상태를 관찰하거나 다운로드를 취소할 수 있습니다. 동기화 세션 자체가 비동기적으로 생성되고 -[RLMRealm asyncOpenWithConfiguration:completion:]이 반환될 때 아직 존재하지 않을 수 있으므로 동기화 세션을 통한 다운로드를 관찰하려고 시도하는 대신 이 방법을 사용해야 합니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMAsyncOpenTask : NSObject

    Swift

    @_nonSendable(_assumed) class RLMAsyncOpenTask : NSObject, @unchecked Sendable

RLMBSON

  • MaxKey는 다른 BSON types와 비교할 때 항상 가장 큰 값입니다.

    선언

    Objective-C

    
    @interface RLMMaxKey : NSObject

    Swift

    class RLMMaxKey : NSObject, @unchecked Sendable
  • MinKey는 다른 BSON types와 비교할 때 항상 가장 작은 값입니다.

    선언

    Objective-C

    
    @interface RLMMinKey : NSObject

    Swift

    class RLMMinKey : NSObject, @unchecked Sendable
  • RLMSortDescriptorsortedResultsUsingDescriptors: 와 함께 사용할 속성 이름과 정렬 순서를 저장합니다. NSSortDescriptor 와 비슷하지만 Realm의 쿼리 엔진 에서 효율적으로 실행 수 있는 기능의 하위 집합만 지원합니다.

    RLMSortDescriptor 인스턴스는 변경되지 않습니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMSortDescriptor : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSortDescriptor : NSObject, @unchecked Sendable
  • RLMCollectionChange 객체 는 Realm 알림 에서 보고한 컬렉션의 변경 사항에 대한 정보를 캡슐화합니다.

    RLMCollectionChange RLMArrayRLMResults-addNotificationBlock 에 등록된 알림 차단으로 전달되고 알림 차단 이 마지막으로 호출된 이후 컬렉션 에서 변경된 행을 보고합니다.

    변경 정보는 각 변경 유형에 대한 컬렉션의 행 인덱스 배열과 UITableView의 배치 업데이트 메서드에 직접 전달하기에 적합한 요청된 섹션의 인덱스 경로 배열, 두 가지 형식으로 제공됩니다. tv 이)라는 이름의 UITableView 을(를) 업데이트하는 전체 예입니다.

    [tv beginUpdates];
    [tv deleteRowsAtIndexPaths:[changes deletionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv insertRowsAtIndexPaths:[changes insertionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv reloadRowsAtIndexPaths:[changes modificationsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv endUpdates];
    

    RLMCollectionChange 의 모든 배열은 항상 오름차순으로 정렬됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMCollectionChange : NSObject

    Swift

    @_nonSendable(_assumed) class RLMCollectionChange : NSObject
  • 특정 Realm 앱 사용자를 나타내는 불투명한 자격 증명입니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMCredentials : NSObject

    Swift

    @_nonSendable(_assumed) class RLMCredentials : NSObject, @unchecked Sendable
  • 128비트 IEEE 754-2008 10진수 부동 소수점 숫자입니다.

    이 유형은 Swift의 내장 Decimal 유형과 비슷하지만 비트를 다르게 할당하므로 표현 가능 범위가 다릅니다. (NS)Decimal은 최대 38자리의 유효 숫자와 -128부터 127까지의 지수를 저장하는 반면, 이 유형은 최대 34자리의 유효 숫자와 지수를 -6143부터 6144까지 저장합니다.

    더 보기

    선언

    Objective-C

    @interface RLMDecimal128 : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMDecimal128 : NSObject, NSCopying, @unchecked Sendable
  • RLMDictionary Realm 의 컨테이너 유형으로 키-값 쌍의 동적 컬렉션 을 나타냅니다.

    과 달리 NSDictionary RLMDictionary는 단일 키와 값 유형을 보유합니다. 이 Docs 에서는 이를 딕셔너리의 'type' 및 'keyType'이라고 합니다.

    RLMDictionary 속성을 선언할 때 객체 유형과 keyType은 포함해야 하는 객체와 동일한 이름으로 프로토콜을 준수하는 것으로 표시해야 합니다.

    RLM_COLLECTION_TYPE(ObjectType)
    ...
    @property RLMDictionary<NSString *, ObjectType *><RLMString, ObjectType> *objectTypeDictionary;
    

    RLMDictionary와(과) 동일한 조건자를 사용하여 RLMObjectRLMResult을(를) 쿼리할 수 있습니다.

    RLMDictionarys는 직접 만들 수 없습니다. RLMDictionaryRLMObject속성은 액세스할 때 느리게 생성되거나 Realm을 쿼리하여 얻을 수 있습니다.

    RLMDictionary NSString 만 키로 지원합니다. Realm은 사전 키 내에서 . 또는 $ 문자 사용을 허용하지 않습니다.

    키-값 관찰

    RLMDictionary RLMObject 하위 클래스의 RLMDictionary 속성에 대한 사전 키-값 관찰을 지원하며, RLMDictionary 인스턴스의 invalidated 속성은 RLMDictionary 가 관리되는 RLMObject 에 연결될 때 키-값 관찰을 준수합니다(RLMDictionary관리되지 않는 RLMObject의 은 무효화되지 않습니다).

    더 보기

    선언

    Objective-C

    @interface RLMDictionary<RLMKeyType, RLMObjectType> : NSObject <RLMCollection>

    Swift

    @_nonSendable(_assumed) class RLMDictionary<RLMKeyType, RLMObjectType> : NSObject, RLMCollection where RLMKeyType : AnyObject, RLMObjectType : AnyObject
  • RLMDictionaryChange 객체는 Realm 알림에서 보고한 사전의 변경 사항에 대한 정보를 캡슐화합니다.

    RLMDictionaryChange RLMDictionary -addNotificationBlock 에 등록된 알림 블록으로 전달되고, 알림 차단이 마지막으로 호출된 이후에 딕셔너리에서 어떤 키가 변경되었는지 보고합니다.

    더 보기

    선언

    Objective-C

    @interface RLMDictionaryChange : NSObject

    Swift

    @_nonSendable(_assumed) class RLMDictionaryChange : NSObject
  • 이메일/비밀번호 인증 제공자 용 클라이언트 로, 로그인을 위한 자격 증명을 얻고 특히 이메일/비밀번호 제공자 와 관련된 요청을 수행하는 데 사용할 수 있습니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMEmailPasswordAuth : RLMProviderClient

    Swift

    @_nonSendable(_assumed) class RLMEmailPasswordAuth : RLMProviderClient, @unchecked Sendable
  • RLMEmbeddedObject Realm 모델 객체를 정의하는 데 사용되는 기본 클래스입니다.

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

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

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

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

    더 보기

    선언

    Objective-C

    @interface RLMEmbeddedObject : RLMObjectBase <RLMThreadConfined>

    Swift

    @_nonSendable(_assumed) class RLMEmbeddedObject : RLMObjectBase, RLMThreadConfined

RLMSyncAppError

  • 서버에서 거부된 쓰기에 대한 확장 정보입니다.

    서버는 권한, 추가 서버 측 유효성 검사 실패 또는 객체가 Flexible Sync 구독과 일치하지 않는다는 이유로 클라이언트가 수행한 쓰기를 거부하는 경우가 있습니다. 이 경우 RLMCompensatingWriteInfoKey userInfo 키에 RLMCompensatingWriteInfo 객체 배열이 거부된 쓰기 및 이유에 대한 정보와 함께 RLMSyncErrorWriteRejected 오류가 보고됩니다.

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

    더 보기

    선언

    Objective-C

    
    @interface RLMCompensatingWriteInfo : NSObject

    Swift

    class RLMCompensatingWriteInfo : NSObject, @unchecked Sendable
  • 에서 , 또는 명령을 실행할 때 사용할 findOneAndUpdate findOneAndReplace findOneAndDelete RLMMongoCollection옵션입니다.

    더 보기

    선언

    Objective-C

    @interface RLMFindOneAndModifyOptions : NSObject

    Swift

    @_nonSendable(_assumed) class RLMFindOneAndModifyOptions : NSObject
  • RLMMongoCollection 에서 find 명령을 실행할 때 사용할 옵션입니다.

    더 보기

    선언

    Objective-C

    @interface RLMFindOptions : NSObject

    Swift

    @_nonSendable(_assumed) class RLMFindOptions : NSObject
  • 위도와 경도 값으로 형성되는 점의 좌표를 나타내는 클래스입니다.

    • 위도의 범위는 -90도에서 90도 사이입니다.
    • 경도 범위는 -180도에서 180도 사이입니다.
    • 고도는 음수 값을 가질 수 없습니다.

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

    참고

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

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

    경고

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

    경고

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

    더 보기

    선언

    Objective-C

    @interface RLMGeospatialPoint : NSObject

    Swift

    class RLMGeospatialPoint : NSObject, @unchecked Sendable
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 사각형을 나타내는 클래스입니다.

    경고

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

    선언

    Objective-C

    @interface RLMGeospatialBox : NSObject <RLMGeospatial>

    Swift

    class RLMGeospatialBox : NSObject, RLMGeospatial, @unchecked Sendable
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 다각형을 나타내는 클래스입니다.

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

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

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

    경고

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

    더 보기

    선언

    Objective-C

    @interface RLMGeospatialPolygon : NSObject <RLMGeospatial>

    Swift

    class RLMGeospatialPolygon : NSObject, RLMGeospatial, @unchecked Sendable
  • 이 구조체는 거리를 나타내거나 변환하는 헬퍼입니다. 다음과 같은 지리 공간적 쿼리에 사용할 수 있습니다. RLMGeospatialCircle

    경고

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

    선언

    Objective-C

    @interface RLMDistance : NSObject

    Swift

    class RLMDistance : NSObject, @unchecked Sendable
  • 지리 공간적 geoWithin쿼리에 사용할 수 있는 원을 나타내는 클래스입니다.

    경고

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

    선언

    Objective-C

    @interface RLMGeospatialCircle : NSObject <RLMGeospatial>

    Swift

    class RLMGeospatialCircle : NSObject, RLMGeospatial, @unchecked Sendable
  • Realm 파일 을 처음 열 때 초기 구독이 채워지는 방식을 제어하는 구성입니다.

    ~를 참조하세요.

    RLMSubscriptionSet
    더 보기

    선언

    Objective-C

    
    @interface RLMInitialSubscriptionsConfiguration : NSObject

    Swift

    @_nonSendable(_assumed) class RLMInitialSubscriptionsConfiguration : NSObject, @unchecked Sendable
  • RLMLogger 사용자 지정 로깅 로직을 만드는 데 사용됩니다.

    RLMLogger 의 인스턴스를 생성하는 자체 로거를 정의하고 로그 메시지가 있을 때마다 호출되는 로그 함수를 정의할 수 있습니다. setDefaultLogger 을(를) 사용하여 이 사용자 지정 로거를 기본 로거로 설정합니다.

    RLMLogger.defaultLogger = [[RLMLogger alloc] initWithLevel:RLMLogLevelDebug
                                               logFunction:^(RLMLogLevel level, NSString * message) {
        NSLog(@"Realm Log - %lu, %@", (unsigned long)level, message);
    }];
    

    참고

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

    선언

    Objective-C

    @interface RLMLogger : NSObject

    Swift

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

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

    더 보기

    선언

    Objective-C

    @interface RLMMigration : NSObject

    Swift

    @_nonSendable(_assumed) class RLMMigration : NSObject
  • RLMMongoClient 을(를) 사용하면 Realm cloud 서비스를 통해 MongoDB database에서 읽고 쓸 수 있습니다.

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

    참고

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

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

    RLMApp, RLMMongoDatabase, RLMMongoCollection

    더 보기

    선언

    Objective-C

    
    @interface RLMMongoClient : NSObject

    Swift

    @_nonSendable(_assumed) class RLMMongoClient : NSObject, @unchecked Sendable
  • WatchStream으로 중개자 역할을 하며 이벤트를 처리합니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMChangeStream : NSObject <RLMEventDelegate>

    Swift

    @_nonSendable(_assumed) class RLMChangeStream : NSObject, RLMEventDelegate, @unchecked Sendable
  • RLMMongoCollection 은(는) MongoDB collection을 나타냅니다.

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

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

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

    참고

    데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
    • 사용법: RLMMongoClient *client = [self.app mongoClient:@"MongoDB1"]; RLMMongoDatabase *database = [client databaseWithName:@"test_data"]; RLMMongoCollection *collection = [database collectionWithName:@"Dog"]; [collection insertOneDocument:@{@"name": @"fido", @"breed": @"cane corso"} 완료:...];

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

    RLMMongoClient, RLMMongoDatabase

    더 보기

    선언

    Objective-C

    
    @interface RLMMongoCollection : NSObject

    Swift

    @_nonSendable(_assumed) class RLMMongoCollection : NSObject, @unchecked Sendable
  • RLMMongoDatabase 은(는) 데이터가 포함된 collection 그룹을 보유하는 MongoDB database를 나타냅니다.

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

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

    참고

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

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

    RLMMongoClient, RLMMongoCollection

    더 보기

    선언

    Objective-C

    
    @interface RLMMongoDatabase : NSObject

    Swift

    @_nonSendable(_assumed) class RLMMongoDatabase : NSObject, @unchecked Sendable
  • 임의의 서버 에 보낼 수 있는 HTTP 요청 입니다.

    더 보기

    선언

    Objective-C

    @interface RLMRequest : NSObject

    Swift

    @_nonSendable(_assumed) class RLMRequest : NSObject
  • HTTP 응답의 내용입니다.

    더 보기

    선언

    Objective-C

    @interface RLMResponse : NSObject

    Swift

    @_nonSendable(_assumed) class RLMResponse : NSObject
  • 외부 인터페이스용 전송 프로토콜. 사용자 지정 요청/응답 처리를 허용합니다.

    더 보기

    선언

    Objective-C

    @interface RLMNetworkTransport : NSObject <RLMNetworkTransport>

    Swift

    @_nonSendable(_assumed) class RLMNetworkTransport : NSObject, RLMNetworkTransportProtocol, @unchecked Sendable
  • RLMObject Realms에 저장된 데이터를 나타내는 모델 객체의 기본 클래스입니다.

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

    // Dog.h
    @interface Dog : RLMObject
    @property NSString *name;
    @property BOOL      adopted;
    @end
    
    // Dog.m
    @implementation Dog
    @end //none needed
    

    지원되는 속성 유형

    • NSString
    • NSInteger, int, long, floatdouble
    • BOOL or bool
    • NSDate
    • NSData
    • NSNumber<X>여기서 XRLMInt, RLMFloat, RLMDouble 또는 RLMBool 중 하나이며, 선택적 숫자 속성의 경우
    • RLMObject 서브클래스를 사용하여 다대일 관계를 모델링합니다.
    • RLMArray<X>, 여기서 XRLMObject 서브클래스로, 다대다 관계를 모델링합니다.

    쿼리하기

    클래스 메서드 allObjects, objectsWhere:objectsWithPredicate: 를 통해 직접 쿼리를 시작할 수 있습니다. 이 메서드를 사용하면 기본 Realm에서 해당 클래스의 인스턴스에 대한 사용자 지정 하위 클래스를 쉽게 쿼리할 수 있습니다.

    기본 Realm이 아닌 다른 Realm에서 검색하려면 allObjectsInRealm:, objectsInRealm:where:objectsInRealm:withPredicate: 클래스 메서드를 사용하세요.

    ~를 참조하세요.

    RLMRealm

    관계

    자세한 내용은 Realm Swift 문서 를 참조하세요.

    키-값 관찰

    모든 RLMObject 속성(서브클래스에서 만든 속성 포함)은 realmobjectSchema 를 제외하고 키-값 관찰을 준수합니다.

    Realm 객체를 관찰할 때는 다음 팁을 염두에 두세요.

    1. NSMutableArray 속성과RLMArray 달리 속성은 에서 반환된 프록시 객체를 -mutableArrayValueForKey: 사용하거나 포함 클래스에서 KVC 변형 메서드를 정의할 필요가 없습니다. RLMArray 에서 직접 메서드를 호출하기만 하면 됩니다. 모든 변경 사항은 포함 객체에서 자동으로 관찰됩니다.
    2. 관리되지 않는 RLMObject 인스턴스는 관찰된 속성이 있는 동안 Realm에 추가할 수 없습니다.
    3. -observeValueForKeyPath:ofObject:change:context: 내에서 managed RLMObject을 수정하는 것은 권장되지 않습니다. 속성은 Realm이 쓰기 트랜잭션(write transaction) 중이 아닌 경우(예: 다른 스레드에서 변경이 적용된 후 -[RLMRealm refresh] 가 호출된 경우) 및 변경 사항이 적용되기 전에 알림이 전송된 경우( NSKeyValueObservingOptionPrior 가 사용된 경우)에도 변경될 수 있습니다. 쓰기 트랜잭션(write transaction)을 시작할 수 없는 경우에 전송될 수 있습니다.
    더 보기

    선언

    Objective-C

    @interface RLMObject : RLMObjectBase <RLMThreadConfined>

    Swift

    @_nonSendable(_assumed) class RLMObject : RLMObjectBase, RLMThreadConfined
  • RLMObject 변경 알림에서 변경된 특정 속성에 대한 정보입니다.

    더 보기

    선언

    Objective-C

    @interface RLMPropertyChange : NSObject

    Swift

    @_nonSendable(_assumed) class RLMPropertyChange : NSObject
  • 12바이트(대부분)의 고유 ObjectId입니다.

    ObjectId는 GUID 또는 UUID와 유사하며, 중앙 집중식 ID 생성기 없이도 객체를 고유하게 식별하는 데 사용할 수 있습니다. ObjectID는 다음으로 구성됩니다.

    1. 유닉스 시간 이후 ObjectId의 생성 시간을 초 단위로 측정하는 4바이트 타임스탬프입니다.
    2. 5바이트 임의 값
    3. 임의의 값으로 초기화된 3바이트 카운터입니다.

    ObjectId는 빠르게 생성하기 위한 것입니다. ObjectId 필드를 기준으로 정렬하면 일반적으로 객체가 생성 순서대로 정렬됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMObjectId : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMObjectId : NSObject, NSCopying, @unchecked Sendable
  • 이 클래스는 Realm 모델 객체 스키마를 나타냅니다.

    Realm을 사용할 때 RLMObjectSchema 인스턴스를 사용하면 마이그레이션을 수행하고 데이터베이스의 스키마를 인트로스펙션할 수 있습니다.

    객체 스키마는 코어 데이터베이스의 테이블에 매핑됩니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMObjectSchema : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMObjectSchema : NSObject, NSCopying, @unchecked Sendable
  • RLMProperty 인스턴스는 객체 스키마의 컨텍스트에서 Realm이 managed하는 속성을 나타냅니다. 이러한 속성은 Realm 파일에 유지되거나 Realm의 다른 데이터에서 계산될 수 있습니다.

    Realm을 사용할 때 RLMProperty 인스턴스를 사용하면 마이그레이션을 수행하고 데이터베이스의 스키마를 인트로스펙션할 수 있습니다.

    이러한 속성 인스턴스는 코어 데이터베이스의 열에 매핑됩니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMProperty : NSObject

    Swift

    @_nonSendable(_assumed) class RLMProperty : NSObject, @unchecked Sendable
  • RLMPropertyDescriptor 인스턴스는 지정된 클래스의 특정 속성을 나타냅니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMPropertyDescriptor : NSObject

    Swift

    @_nonSendable(_assumed) class RLMPropertyDescriptor : NSObject, @unchecked Sendable
  • 기본 제공자 클라이언트 인터페이스.

    더 보기

    선언

    Objective-C

    @interface RLMProviderClient : NSObject

    Swift

    @_nonSendable(_assumed) class RLMProviderClient : NSObject, @unchecked Sendable
  • 푸시 알림을 수신하기 위해 서버에 장치를 등록하는 데 사용할 수 있는 클라이언트

    더 보기

    선언

    Objective-C

    
    @interface RLMPushClient : NSObject

    Swift

    @_nonSendable(_assumed) class RLMPushClient : NSObject, @unchecked Sendable
  • RLMRealm 인스턴스('Realm'이라고도 함)는 Realm 데이터베이스를 나타냅니다.

    Realm은 디스크( +[RLMRealm realmWithURL:] 참조) 또는 메모리( RLMRealmConfiguration 참조)에 저장할 수 있습니다.

    RLMRealm 인스턴스는 내부 캐시되며, 이벤트 루프의 단일 반복 내에서 단일 스레드에서 동일한 경로나 식별자를 사용하여 동일한 RLMRealm 객체를 여러 번 구성하면 일반적으로 동일한 RLMRealm 객체가 반환됩니다.

    특히 RLMRealm 인스턴스가 제거되었는지 확인하려면(예를 들어, Realm을 열고 일부 속성을 확인한 다음 Realm 파일을 삭제했다가 다시 열려면 Realm을 사용하는 코드를 배치합니다. @autoreleasepool {} 내에 넣고 이에 대한 다른 강력한 참조가 없는지 확인합니다.

    경고

    동결되지 않은 RLMRealm 인스턴스는 스레드에 한정되어 있으며 스레드 또는 디스패치 대기열 전체에서 공유할 수 없습니다. 이 작업을 시도하면 예외가 발생합니다. Realm과 상호 작용하려는 각 스레드에서 이 메서드를 호출해야 합니다. 디스패치 대기열의 경우, 대기열이 동일한 스레드에서 모든 블록을 실행한다고 보장되지 않으므로, 이는 디스패치된 각 블록에서 이를 호출해야 함을 의미합니다.
    더 보기

    선언

    Objective-C

    @interface RLMRealm : NSObject

    Swift

    @_nonSendable(_assumed) class RLMRealm : NSObject
  • Realm 의 변경 사항을 구독 하는 메서드에서 반환되는 토큰입니다.

    Realm의 구독 변경은 RLMNotificationToken 인스턴스를 반환하며, 이 인스턴스는 변경 사항의 구독을 취소하는 데 사용할 수 있습니다. 알림을 계속 받으려면 토큰에 대한 강력한 참조를 저장해야 합니다. 중지하려면 -invalidate 메서드를 호출합니다. 토큰 할당이 취소되면 알림도 중지됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMNotificationToken : NSObject

    Swift

    @_nonSendable(_assumed) class RLMNotificationToken : NSObject, @unchecked Sendable
  • RLMRealmConfiguration 인스턴스는 Realm의 인스턴스를 만드는 데 사용되는 다양한 옵션을 설명합니다.

    RLMRealmConfiguration 인스턴스는 일반 NSObject에 불과합니다. RLMRealmRLMObject와 달리 이를 변경하지 않는 한 스레드 간에 자유롭게 공유할 수 있습니다.

    objectClasses 속성을 설정하여 클래스 하위 집합에 대한 구성 객체를 만드는 데는 많은 비용이 소요될 수 있습니다. 이 때문에 일반적으로 Realm을 열 때마다 새 객체를 만드는 대신 각 개별 구성에 대해 단일 구성 객체를 캐시하고 재사용하는 것이 좋습니다.

    더 보기

    선언

    Objective-C

    @interface RLMRealmConfiguration : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMRealmConfiguration : NSObject, NSCopying
  • RLMResults 객체 쿼리에서 반환되는 Realm의 자동 업데이트 container 유형입니다. 쿼리의 결과를 객체의 collection 형태로 나타냅니다.

    RLMResults RLMObjectRLMArray 와(과) 동일한 조건자를 사용하여 쿼리할 수 있으며, 쿼리를 연결하여 결과를 추가로 필터링할 수 있습니다.

    RLMResults 현재 스레드에서 쓰기 트랜잭션(write transaction)을 포함하여 항상 현재 스레드에서 Realm의 현재 상태를 반영합니다. 한 가지 예외는 for...in 빠른 열거를 사용하는 경우로, 이는 열거가 시작될 때 일부 객체가 삭제되거나 열거 중에 필터에 의해 제외되도록 수정되더라도 열거가 시작될 때 쿼리와 일치하는 객체를 항상 열거합니다.

    RLMResults 처음 액세스할 때 느리게 평가됩니다. 쿼리 결과가 요청될 때만 쿼리를 실행합니다. 즉, 여러 개의 임시 RLMResults 를 연결하여 데이터를 정렬하고 필터링해도 중간 상태를 처리하는 추가 작업이 수행되지 않습니다.

    결과가 평가되거나 알림 차단이 추가되면 결과가 최신 상태로 유지되며 가능하면 백그라운드 스레드에서 최신 상태로 유지하기 위한 작업이 수행됩니다.

    RLMResults 직접 인스턴스화할 수 없습니다.

    더 보기

    선언

    Objective-C

    @interface RLMResults<RLMObjectType>
        : NSObject <RLMCollection, NSFastEnumeration>

    Swift

    @_nonSendable(_assumed) class RLMResults<RLMObjectType> : NSObject, RLMCollection, NSFastEnumeration where RLMObjectType : AnyObject
  • RLMLinkingObjects 자동 업데이트 컨테이너 유형입니다. 상위 객체에 연결되는 객체 컬렉션을 나타냅니다.

    자세한 내용은 문서 의 '역관계' 섹션을 참조하세요.

    선언

    Objective-C

    @interface RLMLinkingObjects<RLMObjectType : RLMObject *> : RLMResults

    Swift

    @_nonSendable(_assumed) class RLMLinkingObjects<RLMObjectType> : RLMResults<AnyObject> where RLMObjectType : RLMObject
  • RLMSchema 인스턴스는 Realm에서 관리하는 모델 객체 스키마 컬렉션을 나타냅니다.

    Realm을 사용할 때 RLMSchema 인스턴스를 사용하면 마이그레이션을 수행하고 데이터베이스의 스키마를 인트로스펙션할 수 있습니다.

    스키마는 코어 데이터베이스의 collection 테이블에 매핑됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMSchema : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMSchema : NSObject, NSCopying, @unchecked Sendable
  • RLMSectionedResultsChange 객체는 Realm 알림에서 보고하는 섹션화된 결과의 변경 사항에 대한 정보를 캡슐화합니다.

    RLMSectionedResultsChange RLMSectionedResults-addNotificationBlock 에 등록된 알림 차단으로 전달되고, 알림 차단이 마지막으로 호출된 이후 컬렉션의 어떤 섹션과 행이 변경되었는지 보고합니다.

    tv 이)라는 이름의 UITableView 을(를) 업데이트하는 전체 예입니다.

    [tv beginUpdates];
    [tv deleteRowsAtIndexPaths:changes.deletions withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv insertRowsAtIndexPaths:changes.insertions withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv reloadRowsAtIndexPaths:changes.modifications withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv insertSections:changes.sectionsToInsert withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv deleteSections:changes.sectionsToRemove withRowAnimation:UITableViewRowAnimationAutomatic];
    [tv endUpdates];
    

    RLMSectionedResultsChange 의 모든 배열은 항상 오름차순으로 정렬됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMSectionedResultsChange : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSectionedResultsChange : NSObject
  • RLM섹션에는 지정된 섹션 키에 속한 객체가 포함되어 있습니다.

    더 보기

    선언

    Objective-C

    @interface RLMSection<RLMKeyType : id <RLMValue>, RLMObjectType>
        : NSObject <RLMSectionedResult>

    Swift

    @_nonSendable(_assumed) class RLMSection<RLMKeyType, RLMObjectType> : NSObject, RLMSectionedResult where RLMKeyType : RLMValue, RLMObjectType : AnyObject
  • 섹션 키로 결정되는 섹션에 요소를 보유하는 지연 평가 컬렉션 입니다.

    더 보기

    선언

    Objective-C

    @interface RLMSectionedResults<RLMKeyType : id <RLMValue>,
                                   RLMObjectType : id <RLMValue>>
        : NSObject <RLMSectionedResult>

    Swift

    @_nonSendable(_assumed) class RLMSectionedResults<RLMKeyType, RLMObjectType> : NSObject, RLMSectionedResult where RLMKeyType : RLMValue, RLMObjectType : RLMValue
  • 고유 객체를 저장하는 데 사용되는 collection 데이터 유형입니다.

    참고

    RLMSet 기본 및 RLMObject 유형 저장을 지원합니다. RLMSet 은(는) 임베디드 Realm 객체 저장을 지원하지 않습니다.
    더 보기

    선언

    Objective-C

    @interface RLMSet<RLMObjectType> : NSObject <RLMCollection>

    Swift

    @_nonSendable(_assumed) class RLMSet<RLMObjectType> : NSObject, RLMCollection where RLMObjectType : AnyObject
  • Realm Object MongoDB Server와 동기화하기 위한 Realm 의 구성 상태를 나타내는 구성 객체입니다.

    더 보기

    선언

    Objective-C

    @interface RLMSyncConfiguration : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncConfiguration : NSObject
  • 동기화 관련 구성의 중심점 역할을 하는 관리자입니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMSyncManager : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncManager : NSObject, @unchecked Sendable
  • 동기화 클라이언트에서 시간 초과 및 간격을 구성하기 위한 옵션입니다.

    더 보기

    선언

    Objective-C

    @interface RLMSyncTimeoutOptions : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncTimeoutOptions : NSObject
  • 세션 객체의 진행률 알림 차단에 해당하는 토큰 객체입니다.

    알림을 수동으로 중지하려면 -invalidate 을(를) 호출하세요. 토큰이 범위를 벗어나거나 폐기되기 전에 알림을 중지해야 합니다.

    선언

    Objective-C

    
    @interface RLMProgressNotificationToken : RLMNotificationToken

    Swift

    @_nonSendable(_assumed) class RLMProgressNotificationToken : RLMNotificationToken, @unchecked Sendable
  • Atlas App Services '세션'을 캡슐화하는 객체입니다. 세션은 클라이언트(및 디스크의 로컬 Realm 파일)와 서버(및 Atlas App Services에 지정된 파티션 값이 저장된 원격 Realm) 간의 통신을 나타냅니다.

    세션은 항상 SDK에 의해 생성되고 다양한 API를 통해 판매됩니다. Realm과 연결된 세션의 수명은 자동으로 관리됩니다. 세션 객체는 모든 스레드에서 액세스할 수 있습니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMSyncSession : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncSession : NSObject, @unchecked Sendable

오류 조치 토큰

  • 특정 오류의 일부로 반환되는 불투명 토큰입니다. 특정 조치를 수행하기 위해 특정 API에 전달될 수 있습니다.

    ~를 참조하세요.

    RLMSyncErrorClientResetError, RLMSyncErrorPermissionDeniedError

    선언

    Objective-C

    
    @interface RLMSyncErrorActionToken : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncErrorActionToken : NSObject, @unchecked Sendable

구독 상태

  • RLMSyncSubscription 커밋된 구독을 읽거나 제거/업데이트하는 데 사용할 수 있는 구독 세트를 쿼리하여 얻은 Flexible Sync 구독을 정의하는 데 사용됩니다.

    더 보기

    선언

    Objective-C

    @interface RLMSyncSubscription : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncSubscription : NSObject
  • RLMSyncSubscriptionSet RLMSyncSubscription의 collection입니다. 이는 RLMSyncSubscription를 추가하고 제거하기 위한 진입점입니다.

    더 보기

    선언

    Objective-C

    @interface RLMSyncSubscriptionSet : NSObject <NSFastEnumeration>

    Swift

    @_nonSendable(_assumed) class RLMSyncSubscriptionSet : NSObject, NSFastEnumeration
  • 스레드에 한정된 객체에 대한 스레드 세이프 참고를 포함하는 스레드 간에 전달되기 위한 객체입니다.

    다른 스레드에서 대상 Realm의 스레드 세이프 참고를 확인하려면 -[RLMRealm resolveThreadSafeReference:] 으로 전달합니다.

    경고

    RLMThreadSafeReference 객체는 최대 한 번만 해석되어야 합니다. RLMThreadSafeReference 확인에 실패하면 참고 할당이 해제될 때까지 Realm의 소스 버전이 고정됩니다.

    참고

    소스 Realm의 버전에 대한 데이터는 모든 참고가 확인되거나 할당 해제될 때까지 유지되므로 수명이 짧은 RLMThreadSafeReference을(를) 선호합니다.

    ~를 참조하세요.

    RLMThreadConfined

    더 보기

    선언

    Objective-C

    
    @interface RLMThreadSafeReference<__covariant Confined : id <RLMThreadConfined>>
        : NSObject

    Swift

    @_nonSendable(_assumed) class RLMThreadSafeReference<Confined> : NSObject, @unchecked Sendable where Confined : RLMThreadConfined
  • updateOne 또는 updateMany 작업의 RLMMongoCollection 결과입니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMUpdateResult : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUpdateResult : NSObject, @unchecked Sendable
  • RLMUser 인스턴스는 단일 Realm 앱 사용자 계정을 나타냅니다.

    사용자에게는 하나 이상의 자격 증명이 연결되어 있을 수 있습니다. 이러한 자격 증명은 인증 제공자에 대해 사용자를 고유하게 식별하며, Atlas App Services 사용자 계정에 로그인하는 데 사용됩니다.

    사용자 객체는 SDK API를 통해서만 판매되며 직접 초기화할 수 없습니다. 모든 스레드에서 사용자 객체에 액세스할 수 있습니다.

    더 보기

    선언

    Objective-C

    @interface RLMUser : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUser : NSObject, @unchecked Sendable

사용자 정보 클래스

  • 사용자의 ID입니다. 사용자는 일반적으로 여러 제공자와 연결된 여러 ID를 가질 수 있습니다. 이는 사용자의 고유 식별자 문자열과 다릅니다. @ seeAlso RLMUser.identifier

    더 보기

    선언

    Objective-C

    
    @interface RLMUserIdentity : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserIdentity : NSObject, @unchecked Sendable
  • 특정 사용자의 프로필입니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMUserProfile : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserProfile : NSObject, @unchecked Sendable
  • 서버에서 받은 APIKey에 대한 UserAPIKey 모델입니다.

    더 보기

    선언

    Objective-C

    
    @interface RLMUserAPIKey : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserAPIKey : NSObject, @unchecked Sendable