클래스
다음 클래스는 전 세계적으로 사용할 수 있습니다.
-
사용자 API 키에 대한 제공자 클라이언트입니다.
더 보기선언
Objective-C
@interface RLMAPIKeyAuth : RLMProviderClient
Swift
@_nonSendable(_assumed) class RLMAPIKeyAuth : RLMProviderClient, @unchecked Sendable
-
특정 Realm 애플리케이션과 통신하는 클라이언트의 구성을 나타내는 속성입니다.
더 보기RLMAppConfiguration
옵션은 이를 사용하는RLMApp
가 생성된 후에는 수정할 수 없습니다. 앱의 구성 값은 앱 생성 시 캐시되므로 이후의 수정 사항은 적용되지 않습니다.선언
Objective-C
@interface RLMAppConfiguration : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMAppConfiguration : NSObject, NSCopying
-
선언
Objective-C
@interface RLMApp : NSObject
Swift
@_nonSendable(_assumed) class RLMApp : NSObject, @unchecked Sendable
-
RLMArray
Realm에서 to-many 관계를 정의하는 데 사용되는 컨테이너 유형입니다.NSArray
와 달리RLMArray
는objectClassName
속성으로 지정된 단일 유형을 보유합니다. 이 Docs에서는 이를 배열의 "유형"이라고 합니다.RLMArray
속성을 선언할 때 유형은 포함해야 하는 객체와 동일한 이름을 사용하여 프로토콜을 준수하는 것으로 표시해야 합니다(RLM_COLLECTION_TYPE
매크로 참조). 또한 컴파일 타임 형식 안전성을 높이기 위해 Objective-C 제네릭을 사용하여 속성을 선언할 수 있습니다.RLM_COLLECTION_TYPE(ObjectType) ... @property RLMArray<ObjectType *><ObjectType> *arrayOfObjectTypes;
RLMArray
와(과) 동일한 조건자를 사용하여RLMObject
및RLMResult
을(를) 쿼리할 수 있습니다.RLMArray
s는 직접 만들 수 없습니다.RLMArray
의RLMObject
속성은 액세스할 때 느리게 생성되거나 Realm을 쿼리하여 얻을 수 있습니다.키-값 관찰
RLMArray
RLMObject
서브클래스의RLMArray
속성에서 배열 키-값 관찰을 지원하며,RLMArray
인스턴스의invalidated
속성은RLMArray
가 managedRLMObject
에 연결될 때 키-값 관찰을 준수합니다(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
와 동일하므로RLMObject
및RLMArray<RLMObject>
속성은 지원되지 않습니다(RLMEmbeddedObject
및RLMArray<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
-
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
-
RLMSortDescriptor
은sortedResultsUsingDescriptors:
와 함께 사용할 속성 이름과 정렬 순서를 저장합니다.NSSortDescriptor
와 비슷하지만 Realm의 쿼리 엔진 에서 효율적으로 실행 수 있는 기능의 하위 집합만 지원합니다.
더 보기RLMSortDescriptor
인스턴스는 변경되지 않습니다.선언
Objective-C
@interface RLMSortDescriptor : NSObject
Swift
@_nonSendable(_assumed) class RLMSortDescriptor : NSObject, @unchecked Sendable
-
RLMCollectionChange
객체 는 Realm 알림 에서 보고한 컬렉션의 변경 사항에 대한 정보를 캡슐화합니다.RLMCollectionChange
RLMArray
및RLMResults
에-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
와(과) 동일한 조건자를 사용하여RLMObject
및RLMResult
을(를) 쿼리할 수 있습니다.RLMDictionary
s는 직접 만들 수 없습니다.RLMDictionary
의RLMObject
속성은 액세스할 때 느리게 생성되거나 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
와 동일하므로RLMObject
및RLMArray<RLMObject>
속성은 지원되지 않습니다(RLMEmbeddedObject
및RLMArray<RLMEmbeddedObject>
) 입니다.내장된 객체는 기본 키나 인덱싱된 속성을 가질 수 없습니다.
더 보기선언
Objective-C
@interface RLMEmbeddedObject : RLMObjectBase <RLMThreadConfined>
Swift
@_nonSendable(_assumed) class RLMEmbeddedObject : RLMObjectBase, RLMThreadConfined
-
서버에서 거부된 쓰기에 대한 확장 정보입니다.
서버는 권한, 추가 서버 측 유효성 검사 실패 또는 객체가 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
,RLMGeospatialPolygon
및RLMGeospatialCircle
)와 같은 다른 지리 공간적 도형을 빌드하는 데만 사용할 수 있습니다.경고
고도는 쿼리 계산에 사용되지 않습니다.
선언
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
쿼리에 사용할 수 있는 다각형을 나타내는 클래스입니다.RLMGeospatialPolygon
은outerRing
라고 하는 외부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
-
선언
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
에 대한 액세스를 제공합니다.참고
데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
다음의 사항도 참조하세요.
선언
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"} 완료:...];
다음의 사항도 참조하세요.
선언
Objective-C
@interface RLMMongoCollection : NSObject
Swift
@_nonSendable(_assumed) class RLMMongoCollection : NSObject, @unchecked Sendable
-
RLMMongoDatabase
은(는) 데이터가 포함된 collection 그룹을 보유하는 MongoDB database를 나타냅니다.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
,float
및double
BOOL
orbool
NSDate
NSData
NSNumber<X>
여기서X
은RLMInt
,RLMFloat
,RLMDouble
또는RLMBool
중 하나이며, 선택적 숫자 속성의 경우RLMObject
서브클래스를 사용하여 다대일 관계를 모델링합니다.RLMArray<X>
, 여기서X
은RLMObject
서브클래스로, 다대다 관계를 모델링합니다.
쿼리하기
클래스 메서드
allObjects
,objectsWhere:
및objectsWithPredicate:
를 통해 직접 쿼리를 시작할 수 있습니다. 이 메서드를 사용하면 기본 Realm에서 해당 클래스의 인스턴스에 대한 사용자 지정 하위 클래스를 쉽게 쿼리할 수 있습니다.기본 Realm이 아닌 다른 Realm에서 검색하려면
allObjectsInRealm:
,objectsInRealm:where:
및objectsInRealm:withPredicate:
클래스 메서드를 사용하세요.~를 참조하세요.
RLMRealm
관계
자세한 내용은 Realm Swift 문서 를 참조하세요.
키-값 관찰
모든
RLMObject
속성(서브클래스에서 만든 속성 포함)은realm
및objectSchema
를 제외하고 키-값 관찰을 준수합니다.Realm 객체를 관찰할 때는 다음 팁을 염두에 두세요.
NSMutableArray
속성과RLMArray
달리 속성은 에서 반환된 프록시 객체를-mutableArrayValueForKey:
사용하거나 포함 클래스에서 KVC 변형 메서드를 정의할 필요가 없습니다.RLMArray
에서 직접 메서드를 호출하기만 하면 됩니다. 모든 변경 사항은 포함 객체에서 자동으로 관찰됩니다.- 관리되지 않는
RLMObject
인스턴스는 관찰된 속성이 있는 동안 Realm에 추가할 수 없습니다. -observeValueForKeyPath:ofObject:change:context:
내에서 managedRLMObject
을 수정하는 것은 권장되지 않습니다. 속성은 Realm이 쓰기 트랜잭션(write transaction) 중이 아닌 경우(예: 다른 스레드에서 변경이 적용된 후-[RLMRealm refresh]
가 호출된 경우) 및 변경 사항이 적용되기 전에 알림이 전송된 경우(NSKeyValueObservingOptionPrior
가 사용된 경우)에도 변경될 수 있습니다. 쓰기 트랜잭션(write transaction)을 시작할 수 없는 경우에 전송될 수 있습니다.
선언
Objective-C
@interface RLMObject : RLMObjectBase <RLMThreadConfined>
Swift
@_nonSendable(_assumed) class RLMObject : RLMObjectBase, RLMThreadConfined
-
선언
Objective-C
@interface RLMPropertyChange : NSObject
Swift
@_nonSendable(_assumed) class RLMPropertyChange : NSObject
-
12바이트(대부분)의 고유 ObjectId입니다.
ObjectId는 GUID 또는 UUID와 유사하며, 중앙 집중식 ID 생성기 없이도 객체를 고유하게 식별하는 데 사용할 수 있습니다. ObjectID는 다음으로 구성됩니다.
- 유닉스 시간 이후 ObjectId의 생성 시간을 초 단위로 측정하는 4바이트 타임스탬프입니다.
- 5바이트 임의 값
- 임의의 값으로 초기화된 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
에 불과합니다.RLMRealm
및RLMObject
와 달리 이를 변경하지 않는 한 스레드 간에 자유롭게 공유할 수 있습니다.
더 보기objectClasses
속성을 설정하여 클래스 하위 집합에 대한 구성 객체를 만드는 데는 많은 비용이 소요될 수 있습니다. 이 때문에 일반적으로 Realm을 열 때마다 새 객체를 만드는 대신 각 개별 구성에 대해 단일 구성 객체를 캐시하고 재사용하는 것이 좋습니다.선언
Objective-C
@interface RLMRealmConfiguration : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMRealmConfiguration : NSObject, NSCopying
-
RLMResults
객체 쿼리에서 반환되는 Realm의 자동 업데이트 container 유형입니다. 쿼리의 결과를 객체의 collection 형태로 나타냅니다.RLMResults
RLMObject
및RLMArray
와(과) 동일한 조건자를 사용하여 쿼리할 수 있으며, 쿼리를 연결하여 결과를 추가로 필터링할 수 있습니다.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 데이터 유형입니다.
더 보기선언
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
을(를) 선호합니다.~를 참조하세요.
~를 참조하세요.
선언
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