协议
以下协议在全球范围内可用。
-
Realm 托管对象的同质集合。 一致类型的示例包括
查看更多RLMArray
、RLMSet
、RLMResults
和RLMLinkingObjects
。声明
Objective-C
@protocol RLMCollection <NSFastEnumeration, RLMThreadConfined>
Swift
protocol RLMCollection : NSFastEnumeration, RLMThreadConfined
-
地理形状的一致协议。
声明
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
实例。 托管对象必须显式导出和导入才能在线程之间传递。符合此协议的对象的托管实例可以传递给
+[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