프로토콜
다음 프로토콜은 전 세계적으로 사용할 수 있습니다.
-
Realm에서 관리하는 객체의 동종 컬렉션입니다. 준수 유형의 예로는
더 보기RLMArray
,RLMSet
,RLMResults
및RLMLinkingObjects
등이 있습니다.선언
Objective-C
@protocol RLMCollection <NSFastEnumeration, RLMThreadConfined>
Swift
protocol RLMCollection : NSFastEnumeration, RLMThreadConfined
-
Geo-shape에 적합한 프로토콜입니다.
선언
Objective-C
@protocol RLMGeospatial
Swift
protocol RLMGeospatial
-
더 보기RLMSectionedResult
프로토콜은RLMSectionedResults and RLMSection
에 공통된 속성과 메서드를 정의합니다.선언
Objective-C
@protocol RLMSectionedResult <NSFastEnumeration, RLMThreadConfined>
Swift
protocol RLMSectionedResult : NSFastEnumeration, RLMThreadConfined
-
RLMThreadConfined
을(를) 준수하는 유형의 객체는 Realm에서 관리할 수 있으며, 이를 통해 스레드별RLMRealm
인스턴스에 바인딩됩니다. managed 객체를 스레드 간에 전달하려면 명시적으로 내보내고 가져와야 합니다.이 프로토콜을 준수하는 객체의 managed 인스턴스는
+[RLMThreadSafeReference referenceWithThreadConfined:]
생성자에 전달하여 스레드 간 전송을 위한 참고로 변환할 수 있습니다.Realm에서 정의한 유형만 이 프로토콜을 유의미하게 준수할 수 있으며, 이를 준수하려고 시도하는 새 클래스를 정의해도
더 보기RLMThreadSafeReference
에서 작동하지 않습니다.선언
Objective-C
@protocol RLMThreadConfined <NSObject>
Swift
protocol RLMThreadConfined : NSObjectProtocol
-
RLMValue는 다형성 Realm 값을 나타내는 속성 유형입니다. 이는 Swift의
AnyObject
/Any
사용법과 유사합니다.// A property on `MyObject` @property (nonatomic) id<RLMValue> myAnyValue; // A property on `AnotherObject` @property (nonatomic) id<RLMValue> myAnyValue; MyObject *myObject = [MyObject createInRealm:realm withValue:@[]]; myObject.myAnyValue = @1234; // underlying type is NSNumber. myObject.myAnyValue = @"hello"; // underlying type is NSString. AnotherObject *anotherObject = [AnotherObject createInRealm:realm withValue:@[]]; myObject.myAnyValue = anotherObject; // underlying type is RLMObject.
다음 유형은 RLMValue를 준수합니다.
더 보기NSData
NSDate
NSNull
NSNumber
NSUUID
NSString
RLMObject
RLMObjectId선언
Objective-C
@protocol RLMValue
Swift
protocol RLMValue