RLMDictionary
Objective-C
@interface RLMDictionary<RLMKeyType, RLMObjectType> : NSObject <RLMCollection>
Swift
@_nonSendable(_assumed) class RLMDictionary<RLMKeyType, RLMObjectType> : NSObject, RLMCollection where RLMKeyType : AnyObject, RLMObjectType : AnyObject
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
@property (nonatomic, readonly) NSUInteger count;
Swift
var count: UInt { get }
-
사전에 있는 객체의 유형입니다.
선언
Objective-C
@property (nonatomic, readonly) RLMPropertyType type;
Swift
var type: RLMPropertyType { get }
-
이 사전에 사용된 키의 유형입니다.
선언
Objective-C
@property (nonatomic, readonly) RLMPropertyType keyType;
Swift
var keyType: RLMPropertyType { get }
-
collection의 객체가
nil
일 수 있는지 여부를 나타냅니다.선언
Objective-C
@property (nonatomic, readonly, getter=isOptional) BOOL optional;
Swift
var isOptional: Bool { get }
-
딕셔너리에 포함된 객체의 클래스 이름입니다.
type
이(가) RLMPropertyTypeObject가 아닌 경우nil
이(가) 됩니다.선언
Objective-C
@property (nonatomic, copy, readonly, nullable) NSString *objectClassName;
Swift
var objectClassName: String? { get }
-
사전에 더 이상 액세스할 수 없는지 여부를 나타냅니다.
선언
Objective-C
@property (nonatomic, readonly, getter=isInvalidated) BOOL invalidated;
Swift
var isInvalidated: Bool { get }
-
딕셔너리가 동결되었는지 여부를 나타냅니다.
동결된 사전은 변경할 수 없으며 모든 스레드에서 액세스할 수 있습니다. 동결된 사전은 managed 라이브 사전에서
-freeze
를 호출하여 생성됩니다. 관리되지 않는 사전은 고정되지 않습니다.선언
Objective-C
@property (nonatomic, readonly, getter=isFrozen) BOOL frozen;
Swift
var isFrozen: Bool { get }
-
지정된 키와 관련된 값을 반환합니다.
@dis 토론 키가 '@'로 시작하지 않으면 객체(forKey:)를 호출합니다. 키가 '@'로 시작하는 경우 '@'를 제거하고 나머지 키와 함께 [super valueForKey:]를 호출합니다.
선언
Objective-C
- (nullable id)valueForKey:(nonnull RLMKeyType)key;
Swift
func value(forKey key: RLMKeyType) -> Any?
매개변수
key
속성의 이름입니다.
반환 값
지정된 키 또는
nil
와 연결된 값입니다. -
사전의 키가 포함된 배열 을 반환합니다.
참고
배열의 요소 순서가 정의되지 않았습니다.선언
Objective-C
@property (copy, readonly) NSArray<RLMKeyType> *_Nonnull allKeys;
Swift
var allKeys: [RLMKeyType] { get }
-
딕셔너리의 값이 포함된 배열을 반환합니다.
참고
배열의 요소 순서가 정의되지 않았습니다.선언
Objective-C
@property (copy, readonly) NSArray<RLMObjectType> *_Nonnull allValues;
Swift
var allValues: [RLMObjectType] { get }
-
지정된 키와 관련된 값을 반환합니다.
참고
nil
지정된 키와 연결된 값이 없는 경우 반환됩니다. null이 키와 연결된 경우 NSNull이 반환됩니다.선언
Objective-C
- (nullable RLMObjectType)objectForKey:(nonnull RLMKeyType)key;
Swift
func object(forKey key: RLMKeyType) -> RLMObjectType?
매개변수
key
해당 값을 반환할 키입니다.
반환 값
키와 관련된 값입니다.
-
지정된 키와 관련된 값을 반환합니다.
참고
nil
지정된 키와 연결된 값이 없는 경우 반환됩니다. null이 키와 연결된 경우 NSNull이 반환됩니다.선언
Objective-C
- (nullable RLMObjectType)objectForKeyedSubscript:(nonnull RLMKeyType)key;
Swift
subscript(key: RLMKeyType) -> RLMObjectType? { get set }
매개변수
key
해당 값을 반환할 키입니다.
반환 값
키와 관련된 값입니다.
-
주어진 차단 객체 를 딕셔너리의 각 키-값 쌍에 적용합니다.
참고
차단 이 *stop을 '예'로 설정하면 열거가 중지됩니다.
선언
Objective-C
- (void)enumerateKeysAndObjectsUsingBlock: (nonnull void (^)(RLMKeyType _Nonnull, RLMObjectType _Nonnull, BOOL *_Nonnull))block;
Swift
func enumerateKeysAndObjects(_ block: @escaping (RLMKeyType, RLMObjectType, UnsafeMutablePointer<ObjCBool>) -> Void)
매개변수
block
딕셔너리의 항목에 대해 작업할 차단 객체 입니다.
-
사전의 내용을 다른 사전의 내용(NSDictionary 또는 RLMDictionary)으로 바꿉니다.
이렇게 하면 이 사전의 모든 요소를 제거 다음 지정된 사전의 각 요소를 적용 합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.경고
otherDictionary가 self인 경우 빈 사전이 생성됩니다.선언
Objective-C
- (void)setDictionary:(nonnull id)otherDictionary;
Swift
func setDictionary(_ otherDictionary: Any)
-
딕셔너리의 모든 내용을 제거합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Objective-C
- (void)removeAllObjects;
Swift
func removeAllObjects()
-
지정된 배열 의 요소로 지정된 딕셔너리 항목을 제거합니다. 지정된 키가 존재하지 않으면 해당 키에 대한 변형이 발생하지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Objective-C
- (void)removeObjectsForKeys:(nonnull NSArray<RLMKeyType> *)keyArray;
Swift
func removeObjects(forKeys keyArray: [RLMKeyType])
-
사전에서 지정된 키와 관련 값을 제거합니다. 키가 존재하지 않으면 사전이 수정되지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Objective-C
- (void)removeObjectForKey:(nonnull RLMKeyType)key;
Swift
func removeObject(forKey key: RLMKeyType)
-
키가 없는 경우 지정된 키-값 쌍을 사전에 추가하고, 키가 이미 있는 경우 지정된 키의 값을 업데이트합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Objective-C
- (void)setObject:(nullable RLMObjectType)obj forKeyedSubscript:(nonnull RLMKeyType)key;
-
키가 없는 경우 지정된 키-값 쌍을 사전에 추가하고, 키가 이미 있는 경우 지정된 키의 값을 업데이트합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Objective-C
- (void)setObject:(nullable RLMObjectType)anObject forKey:(nonnull RLMKeyType)aKey;
Swift
func setObject(_ anObject: RLMObjectType?, forKey aKey: RLMKeyType)
-
다른 사전의 항목을 수신 사전에 추가합니다.
참고
수신 사전에 otherDictionary와 동일한 키가 포함되어 있으면 수신 사전은 일치하는 키에 대해 각 키-값 쌍을 업데이트 합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
선언
Objective-C
- (void)addEntriesFromDictionary:(nonnull id<NSFastEnumeration>)otherDictionary;
Swift
func addEntries(fromDictionary otherDictionary: any NSFastEnumeration)
매개변수
otherDictionary
수신 딕셔너리와 동일한 유형의 객체를 포함하는
NSDictionary
또는RLMDictionary
와 같은 열거 가능한 객체 입니다.
-
사전에서 지정된 술어와 일치하는 모든 값을 반환합니다.
참고
값을 쿼리할 때 사전의 키는 무시되며
RLMResults
에서 반환되지 않습니다.선언
Objective-C
- (nonnull RLMResults<RLMObjectType> *)objectsWhere: (nonnull NSString *)predicateFormat, ...;
매개변수
predicateFormat
조건자 형식 문자열이며, 선택적으로 그 뒤에 다양한 수의 인수가 옵니다.
반환 값
지정된 조건자와 일치하는 객체의
RLMResults
입니다. -
사전에서 지정된 술어와 일치하는 모든 값을 반환합니다.
참고
값을 쿼리할 때 사전의 키는 무시되며
RLMResults
에서 반환되지 않습니다.선언
Objective-C
- (nonnull RLMResults<RLMObjectType> *)objectsWithPredicate: (nonnull NSPredicate *)predicate;
Swift
func objects(with predicate: NSPredicate) -> RLMResults
매개변수
predicate
객체를 필터링하는 데 사용할 조건자입니다.
반환 값
지정된 조건자와 일치하는 객체의
RLMResults
입니다. -
사전에 있는 모든 값의 정렬된 RLMResults를 반환합니다.
참고
값을 정렬할 때 사전의 키는 무시되며
RLMResults
에서 반환되지 않습니다.선언
Objective-C
- (nonnull RLMResults<RLMObjectType> *) sortedResultsUsingKeyPath:(nonnull NSString *)keyPath ascending:(BOOL)ascending;
Swift
func sortedResults(usingKeyPath keyPath: String, ascending: Bool) -> RLMResults
매개변수
keyPath
정렬 기준이 되는 키 경로입니다.
ascending
정렬할 방향입니다.
반환 값
지정된 키 경로를 기준으로 정렬된
RLMResults
입니다. -
사전에 있는 모든 값의 정렬된 RLMResults를 반환합니다.
참고
값을 정렬할 때 사전의 키는 무시되며
RLMResults
에서 반환되지 않습니다.선언
Objective-C
- (nonnull RLMResults<RLMObjectType> *)sortedResultsUsingDescriptors: (nonnull NSArray<RLMSortDescriptor *> *)properties;
Swift
func sortedResults(using properties: [RLMSortDescriptor]) -> RLMResults
매개변수
properties
정렬 기준이 되는
RLMSortDescriptor
의 배열입니다.반환 값
지정된 속성을 기준으로 정렬된
RLMResults
입니다. -
사전의 모든 값에서 고유한
RLMResults
를 반환합니다.참고
사전의 키는 무시되며
RLMResults
에서 반환되지 않습니다.선언
Objective-C
- (nonnull RLMResults<RLMObjectType> *)distinctResultsUsingKeyPaths: (nonnull NSArray<NSString *> *)keyPaths;
Swift
func distinctResults(usingKeyPaths keyPaths: [String]) -> RLMResults
매개변수
keyPaths
구분할 키 경로입니다.
반환 값
키 경로의 고유 값이 있는
RLMResults
입니다.
-
사전에 있는 모든 값 중 지정된 속성의 최소값(가장 낮은 값)을 반환합니다.
NSNumber *min = [object.dictionaryProperty minOfProperty:@"age"];
선언
Objective-C
- (nullable id)minOfProperty:(nonnull NSString *)property;
Swift
func min(ofProperty property: String) -> Any?
매개변수
property
최소값이 필요한 속성 입니다.
int
,float
,double
,NSDate
,RLMValue
및RLMDecimal128
유형의 속성만 지원됩니다.반환 값
속성 의 최소값이거나 사전이 비어 있는 경우
nil
입니다. -
사전에 있는 모든 객체 중 지정된 속성의 최대값(가장 높은 값)을 반환합니다.
NSNumber *max = [object.dictionaryProperty maxOfProperty:@"age"];
선언
Objective-C
- (nullable id)maxOfProperty:(nonnull NSString *)property;
Swift
func max(ofProperty property: String) -> Any?
매개변수
property
최소값이 필요한 속성 입니다.
int
,float
,double
,NSDate
,RLMValue
및RLMDecimal128
유형의 속성만 지원됩니다.반환 값
속성 의 최대값이거나 사전이 비어 있는 경우
nil
입니다. -
딕셔너리의 모든 객체에 대해 지정된 속성 의 고유 값의 합계를 반환합니다.
NSNumber *sum = [object.dictionaryProperty sumOfProperty:@"age"];
선언
Objective-C
- (nonnull NSNumber *)sumOfProperty:(nonnull NSString *)property;
Swift
func sum(ofProperty property: String) -> NSNumber
매개변수
property
최소값이 필요한 속성 입니다.
int
,float
,double
,RLMValue
및RLMDecimal128
유형의 속성만 지원됩니다.반환 값
지정된 속성의 합계입니다.
-
딕셔너리의 객체에 대한 지정된 속성 의 평균값을 반환합니다.
NSNumber *average = [object.dictionaryProperty averageOfProperty:@"age"];
선언
Objective-C
- (nullable NSNumber *)averageOfProperty:(nonnull NSString *)property;
Swift
func average(ofProperty property: String) -> NSNumber?
매개변수
property
최소값이 필요한 속성 입니다.
int
,float
,double
,NSDate
,RLMValue
및RLMDecimal128
유형의 속성만 지원됩니다.반환 값
지정된 속성 의 평균값이거나 사전이 비어 있는 경우
nil
입니다.
-
딕셔너리가 변경될 때마다 호출될 차단 을 등록합니다.
차단 은 초기 사전과 비동기적으로 호출된 다음, 사전 내의 키나 값을 변경하는 각 쓰기 트랜잭션 (write transaction) (write transaction) 후에 다시 호출됩니다.
차단 이 처음 호출될 때
changes
매개변수는nil
이(가) 됩니다. 그 이후의 각 호출에 대해 사전에서 추가, 수정 또는 삭제된 키에 대한 정보가 포함됩니다. 쓰기 트랜잭션 (write transaction) (write transaction)이 딕셔너리의 키나 값을 수정하지 않은 경우 차단 은 전혀 호출되지 않습니다.오류 매개변수는 이전 버전과의 호환성을 위해서만 존재하며 항상
nil
입니다.알림은 표준 이벤트 루프를 통해 전달되므로 다른 활동으로 이벤트 루프가 차단된 동안에는 전달할 수 없습니다. 알림을 즉시 전달할 수 없는 경우 여러 알림이 단일 알림으로 병합될 수 있습니다. 여기에는 초기 결과에 대한 알림이 포함될 수 있습니다. 예를 들어 다음 코드는 알림 차단을 추가한 직후 쓰기 트랜잭션(write transaction)을 수행하므로 초기 알림이 먼저 전달될 기회가 없습니다. 결과적으로 초기 알림에는 쓰기 트랜잭션(write transaction) 후 Realm의 상태가 반영됩니다.
Person *person = [[Person allObjectsInRealm:realm] firstObject]; NSLog(@"person.dogs.count: %zu", person.dogs.count); // => 0 self.token = [person.dogs addNotificationBlock(RLMDictionary<NSString *, Dog *><RLMString, Dog> *dogs, RLMDictionaryChange *changes, NSError *error) { // Only fired once for the example NSLog(@"dogs.count: %zu", dogs.count); // => 1 }]; [realm transactionWithBlock:^{ Dog *dog = [[Dog alloc] init]; dog.name = @"Rex"; person.dogs[@"frenchBulldog"] = dog; }]; // end of run loop execution context
업데이트를 해당 블록에 계속 전송하려면 반환된 토큰을 오랫동안 보관해야 합니다. 업데이트 수신을 중지하려면 토큰에서
-invalidate
을 호출합니다.경고
쓰기 트랜잭션(write transaction) 중에는 또는 포함하는 Realm이 읽기 전용일 때 이 메서드를 호출할 수 없습니다.경고
이 메서드는 고정되지 않은 관리되는 사전에서만 호출할 수 있습니다.
선언
Objective-C
- (nonnull RLMNotificationToken *)addNotificationBlock: (nonnull void (^)(RLMDictionary<RLMKeyType, RLMObjectType> *_Nullable, RLMDictionaryChange *_Nullable, NSError *_Nullable))block;
Swift
func addNotificationBlock(_ block: @escaping (RLMDictionary<RLMKeyType, RLMObjectType>?, RLMDictionaryChange?, (any Error)?) -> Void) -> RLMNotificationToken
매개변수
block
딕셔너리가 변경될 때마다 호출되는 차단 입니다.
반환 값
업데이트가 전달되기를 원하는 기간 동안 보유해야 하는 토큰입니다.
-
딕셔너리가 변경될 때마다 호출될 차단 을 등록합니다.
차단 은 초기 사전과 비동기적으로 호출된 다음 사전의 키-값 또는 결과에 포함된 객체를 변경하는 각 쓰기 트랜잭션 (write transaction) (write transaction) 후에 다시 호출됩니다.
차단 이 처음 호출될 때
changes
매개변수는nil
이(가) 됩니다. 그 이후의 각 호출에 대해 사전에서 추가되거나 수정된 키에 대한 정보가 포함됩니다. 쓰기 트랜잭션 (write transaction) (write transaction)이 딕셔너리의 객체를 수정하지 않은 경우 차단 은 전혀 호출되지 않습니다.오류 매개변수는 이전 버전과의 호환성을 위해서만 존재하며 항상
nil
입니다.알림은 지정된 대기열에 전달됩니다. 대기열이 차단되어 알림을 즉시 전달할 수 없는 경우 여러 알림이 단일 알림으로 병합될 수 있습니다.
업데이트를 해당 블록에 계속 전송하려면 반환된 토큰을 오랫동안 보관해야 합니다. 업데이트 수신을 중지하려면 토큰에서
-invalidate
을 호출합니다.경고
포함하는 Realm이 읽기 전용이거나 동결된 경우에는 이 메서드를 호출할 수 없습니다.경고
대기열은 직렬 대기열이어야 합니다.
선언
Objective-C
- (nonnull RLMNotificationToken *) addNotificationBlock: (nonnull void (^)(RLMDictionary<RLMKeyType, RLMObjectType> *_Nullable, RLMDictionaryChange *_Nullable, NSError *_Nullable))block queue:(nullable dispatch_queue_t)queue;
Swift
func addNotificationBlock(_ block: @escaping (RLMDictionary<RLMKeyType, RLMObjectType>?, RLMDictionaryChange?, (any Error)?) -> Void, queue: dispatch_queue_t?) -> RLMNotificationToken
매개변수
block
변경이 발생할 때마다 호출되는 차단입니다.
queue
알림을 전달할 직렬 대기열입니다.
반환 값
업데이트가 전달되기를 원하는 기간 동안 보유해야 하는 토큰입니다.
-
딕셔너리가 변경될 때마다 호출될 차단 을 등록합니다.
차단 은 초기 사전과 비동기적으로 호출된 다음 사전의 키-값 또는 결과에 포함된 객체를 변경하는 각 쓰기 트랜잭션 (write transaction) (write transaction) 후에 다시 호출됩니다.
차단 이 처음 호출될 때
changes
매개변수는nil
이(가) 됩니다. 그 이후의 각 호출에 대해 사전에서 추가되거나 수정된 키에 대한 정보가 포함됩니다. 쓰기 트랜잭션 (write transaction) (write transaction)이 딕셔너리의 객체를 수정하지 않은 경우 차단 은 전혀 호출되지 않습니다.오류 매개변수는 이전 버전과의 호환성을 위해서만 존재하며 항상
nil
입니다.알림은 지정된 대기열에 전달됩니다. 대기열이 차단되어 알림을 즉시 전달할 수 없는 경우 여러 알림이 단일 알림으로 병합될 수 있습니다.
업데이트를 해당 블록에 계속 전송하려면 반환된 토큰을 오랫동안 보관해야 합니다. 업데이트 수신을 중지하려면 토큰에서
-invalidate
을 호출합니다.경고
포함하는 Realm이 읽기 전용이거나 동결된 경우에는 이 메서드를 호출할 수 없습니다.경고
대기열은 직렬 대기열이어야 합니다.
선언
Objective-C
- (nonnull RLMNotificationToken *) addNotificationBlock: (nonnull void (^)(RLMDictionary<RLMKeyType, RLMObjectType> *_Nullable, RLMDictionaryChange *_Nullable, NSError *_Nullable))block keyPaths:(nullable NSArray<NSString *> *)keyPaths queue:(nullable dispatch_queue_t)queue;
Swift
func addNotificationBlock(_ block: @escaping (RLMDictionary<RLMKeyType, RLMObjectType>?, RLMDictionaryChange?, (any Error)?) -> Void, keyPaths: [String]?, queue: dispatch_queue_t?) -> RLMNotificationToken
매개변수
block
변경이 발생할 때마다 호출되는 차단입니다.
keyPaths
이러한 키 경로에서 발생하는 변경에 대해 차단이 호출됩니다. 키 경로가 제공되지 않으면 모든 속성 키 경로에 대해 알림이 전달됩니다.
반환 값
업데이트가 전달되기를 원하는 기간 동안 보유해야 하는 토큰입니다.
-
딕셔너리가 변경될 때마다 호출될 차단 을 등록합니다.
차단 은 초기 사전과 비동기적으로 호출된 다음 사전의 키-값 또는 결과에 포함된 객체를 변경하는 각 쓰기 트랜잭션 (write transaction) (write transaction) 후에 다시 호출됩니다.
차단 이 처음 호출될 때
changes
매개변수는nil
이(가) 됩니다. 그 이후의 각 호출에 대해 사전에서 추가되거나 수정된 키에 대한 정보가 포함됩니다. 쓰기 트랜잭션 (write transaction) (write transaction)이 딕셔너리의 객체를 수정하지 않은 경우 차단 은 전혀 호출되지 않습니다.오류 매개변수는 이전 버전과의 호환성을 위해서만 존재하며 항상
nil
입니다.업데이트를 해당 블록에 계속 전송하려면 반환된 토큰을 오랫동안 보관해야 합니다. 업데이트 수신을 중지하려면 토큰에서
-invalidate
을 호출합니다.경고
포함하는 Realm이 읽기 전용이거나 동결된 경우에는 이 메서드를 호출할 수 없습니다.경고
대기열은 직렬 대기열이어야 합니다.
선언
Objective-C
- (nonnull RLMNotificationToken *) addNotificationBlock: (nonnull void (^)(RLMDictionary<RLMKeyType, RLMObjectType> *_Nullable, RLMDictionaryChange *_Nullable, NSError *_Nullable))block keyPaths:(nullable NSArray<NSString *> *)keyPaths;
Swift
func addNotificationBlock(_ block: @escaping (RLMDictionary<RLMKeyType, RLMObjectType>?, RLMDictionaryChange?, (any Error)?) -> Void, keyPaths: [String]?) -> RLMNotificationToken
매개변수
block
변경이 발생할 때마다 호출되는 차단입니다.
keyPaths
이러한 키 경로에서 발생하는 변경에 대해 차단이 호출됩니다. 키 경로가 제공되지 않으면 모든 속성 키 경로에 대해 알림이 전달됩니다.
반환 값
업데이트가 전달되기를 원하는 기간 동안 보유해야 하는 토큰입니다.
-
사전의 고정된(불변) 스냅샷을 반환합니다.
동결된 사본은 변경할 수 없는 딕셔너리로 이 딕셔너리에 현재 포함되어 있는 것과 동일한 데이터를 포함하지만 포함하는 Realm 에 쓸 때 업데이트 되지 않습니다. 라이브 사전과 달리 동결 사전은 모든 스레드에서 액세스할 수 있습니다.
경고
쓰기 트랜잭션(write transaction) 중에는 또는 포함하는 Realm이 읽기 전용일 때 이 메서드를 호출할 수 없습니다.경고
이 메서드는 managed 사전에서만 호출할 수 있습니다.경고
Realm에서 쓰기 트랜잭션( 쓰기 트랜잭션 (write transaction) )을 수행하는 동안 동결된 사전을 오랫동안 유지하면 Realm Realm 파일 크기가 커질 수 있습니다. 자세한 내용은RLMRealmConfiguration.maximumNumberOfActiveVersions
를 참조하세요.선언
Objective-C
- (nonnull instancetype)freeze;
Swift
func freeze() -> Self
-
이 동결된 collection의 라이브 버전을 반환합니다.
이 메서드는 동일한 동결 컬렉션의 라이브 사본에 대한 참조를 확인합니다. 라이브 컬렉션에서 호출하면 자체를 반환합니다.
선언
Objective-C
- (nonnull instancetype)thaw;
Swift
func thaw() -> Self
-
사용할 수 없음
RLMDictionary는 직접 만들 수 없습니다.
-[RLMDictionary init]
RLMDictionary
을 직접 만들 수 없기 때문에 사용할 수 없습니다.RLMDictionary
의RLMObject
속성은 액세스 시 느리게 생성됩니다.선언
Objective-C
- (nonnull instancetype)init;
-
사용할 수 없음
RLMDictionary는 직접 만들 수 없습니다.
+[RLMDictionary new]
RLMDictionary
을 직접 만들 수 없기 때문에 사용할 수 없습니다.RLMDictionary
의RLMObject
속성은 액세스 시 느리게 생성됩니다.선언
Objective-C
+ (nonnull instancetype)new;