Protocolos
Os seguintes protocolos estão disponíveis globalmente.
-
Uma coleção homogênea de objetos gerenciados pelo Realm. Exemplos de tipos em conformidade incluem
Veja maisRLMArray
,RLMSet
,RLMResults
eRLMLinkingObjects
.Declaração
Objective-C
@protocol RLMCollection <NSFastEnumeration, RLMThreadConfined>
Swift
protocol RLMCollection : NSFastEnumeration, RLMThreadConfined
-
Protocolo de conformidade para uma forma geográfica.
Declaração
Objective-C
@protocol RLMGeospatial
Swift
protocol RLMGeospatial
-
O protocolo
Veja maisRLMSectionedResult
define propriedades e métodos comuns aRLMSectionedResults and RLMSection
Declaração
Objective-C
@protocol RLMSectionedResult <NSFastEnumeration, RLMThreadConfined>
Swift
protocol RLMSectionedResult : NSFastEnumeration, RLMThreadConfined
-
objeto de tipos que estão em conformidade com
RLMThreadConfined
podem ser managed por um Realm, o que os tornará vinculados a uma instânciaRLMRealm
específica do thread. Os managed objeto devem ser explicitamente exportados e importados para serem passados entre threads.Managed objeto em conformidade com este protocolo podem ser convertidas em uma referência segura de thread para transporte entre threads passando para o construtor
+[RLMThreadSafeReference referenceWithThreadConfined:]
.Observe que somente os tipos definidos pelo Realm podem estar em conformidade com este protocolo, e definir novas classes que tentam estar em conformidade com ele não as fará funcionar com
Veja maisRLMThreadSafeReference
.Declaração
Objective-C
@protocol RLMThreadConfined <NSObject>
Swift
protocol RLMThreadConfined : NSObjectProtocol
-
RLMValue é um tipo de propriedade que representa um valor de Realm polimórfico. Isso é semelhante ao uso de
AnyObject
/Any
no Swift.// 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.
Os seguintes tipos estão em conformidade com RLMValue:
Veja maisNSData
NSDate
NSNull
NSNumber
NSUUID
NSString
RLMObject
RLMObjectIdDeclaração
Objective-C
@protocol RLMValue
Swift
protocol RLMValue