유형 별칭
다음 유형 별칭은 전역적으로 사용할 수 있습니다.
-
PropertyType
Realm 모델에서 지원되는 모든 속성 유형을 설명하는 열거형입니다.자세한 내용은 객체 모델 및 스키마 를 참조하세요.
기본 유형
Int
Bool
Float
Double
Realm 객체 유형
String
Data
Date
Decimal128
ObjectId
관계: 배열(Swift에서는
List
) 및Object
유형Object
Array
선언
Swift
public typealias PropertyType = RLMPropertyType
-
Realm의 변경 사항을 구독하는 메서드에서 반환되는 불투명 토큰입니다.
~를 참조하세요.
Realm.observe(_:)
선언
Swift
public typealias NotificationToken = RLMNotificationToken
-
Realm 앱 구성을 나타내는 객체
~를 참조하세요.
RLMAppConfiguration
참고
AppConfiguration
옵션은 이를 사용하는App
가 생성된 후에는 수정할 수 없습니다. 앱의 구성 값은 앱 생성 시 캐시되므로 이후의 수정 사항은 적용되지 않습니다.선언
Swift
public typealias AppConfiguration = RLMAppConfiguration
-
Realm Cloud 사용자 API 키에 대해 네트워크 호출을 수행하는 클라이언트를 나타내는 객체
~를 참조하세요.
RLMAPIKeyAuth
선언
Swift
public typealias APIKeyAuth = RLMAPIKeyAuth
-
Realm Cloud 사용자 등록 및 비밀번호 기능에 대한 네트워크 호출을 수행하는 클라이언트를 나타내는 객체
~를 참조하세요.
RLMEmailPasswordAuth
선언
Swift
public typealias EmailPasswordAuth = RLMEmailPasswordAuth
-
사용자의 소셜 프로필을 나타내는 객체입니다.
선언
Swift
public typealias UserProfile = RLMUserProfile
-
오류를 보고하는 데 사용되는 차단 유형
선언
Swift
public typealias EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
-
푸시 알림에 장치를 등록하기 위해 Realm Cloud에서 네트워크 호출을 수행하는 클라이언트를 나타내는 객체입니다.
~를 참조하세요.
를 참조하세요.RLMPushClient
선언
Swift
public typealias PushClient = RLMPushClient
-
UserAPIKeyProviderClient 내에서 사용되는 객체입니다.
선언
Swift
public typealias UserAPIKey = RLMUserAPIKey
-
App
에는 Realm 애플리케이션 백엔드와 통신하기 위한 기본적인 메서드 세트가 있습니다. 이 인터페이스는 로그인 및 인증에 대한 액세스를 제공합니다.선언
Swift
public typealias App = RLMApp
-
인증 성공 또는 실패 시 이 위임을 사용하여 콜백을 제공합니다.
선언
Swift
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) public typealias ASLoginDelegate = RLMASLoginDelegate
-
AsymmetricObject
비대칭 Realm 객체를 정의하는 데 사용되는 기본 클래스입니다.비대칭 객체는
create(_ type:, value:)
함수를 사용해서만 생성할 수 있으며 추가, 제거 또는 쿼리할 수 없습니다. 비대칭 객체는 생성되면 MongoDB database에 단방향으로 동기화되며 로컬에서 액세스할 수 없습니다.Object
내에서 비대칭 객체를 연결하는 것은 허용되지 않으며 오류가 발생합니다.AsymmetricObject
에서 지원되는 속성 유형은 비대칭 객체가 내장된 객체에만 연결할 수 있다는 점을 제외하고Object
와 동일하므로Object
및List<Object>
속성은 지원되지 않습니다(EmbeddedObject
및List<EmbeddedObject>
는).class Person: AsymmetricObject { @Persisted(primaryKey: true) var _id: ObjectId @Persisted var name: String @Persisted var age: Int }
선언
Swift
public typealias AsymmetricObject = RealmSwiftAsymmetricObject
-
MaxKey는 다른 BSON types와 비교할 때 항상 가장 큰 값입니다.
선언
Swift
public typealias MaxKey = RLMMaxKey
-
MinKey는 다른 BSON types와 비교할 때 항상 가장 작은 값입니다.
선언
Swift
public typealias MinKey = RLMMinKey
-
Object
Realm 모델 객체를 정의하는 데 사용되는 클래스입니다.Realm에서는
Object
을(를) 서브클래스화하고 managed 속성을 추가하여 모델 클래스를 정의합니다. 그런 다음Object
클래스를 직접 사용하는 대신 사용자 지정 하위 클래스를 인스턴스화하여 사용합니다.class Dog: Object { @Persisted var name: String @Persisted var adopted: Bool @Persisted var siblings: List<Dog> }
지원되는 속성 유형
String
Int
,Int8
,Int16
,Int32
,Int64
Float
Double
Bool
Date
Data
Decimal128
ObjectId
UUID
AnyRealmValue
- 원시 유형이 법적 속성 유형인 모든 원시 표현 가능 열거형입니다. 열거형은
PersistableEnum
을 준수하는 것으로 명시적으로 표시되어야 합니다. Object
서브클래스, 다대일 관계 모델링EmbeddedObject
하위 클래스, 일대일 관계를 소유한 모델
AnyRealmValue
을(를) 제외하고 위의 모든 유형이Optional
일 수 있습니다.Object
및EmbeddedObject
서브클래스는 선택 사항 이어야 합니다.개별 값 외에도 세 가지 collection 유형이 지원됩니다.
List<Element>
:Array
와(과) 유사한 순서가 지정된 변경 가능한 collection입니다.MutableSet<Element>
:Set
와(과) 유사한 순서가 지정되지 않은 고유 collection입니다.Map<String, Element>
:Dictionary
와(과) 유사한 순서가 지정되지 않은 키-값 collection입니다.
collection의 요소 유형은 위에 나열된 지원되는 비collection 속성 유형 중 하나일 수 있습니다. collection 자체는 선택 사항이 아닐 수 있지만
Object
또는EmbeddedObject
하위 클래스의 목록과 세트를 제외하고 collection 내부의 값은 선택 사항일 수 있습니다.마지막으로
LinkingObjects
속성을 사용하여 이 속성에 연결되는 객체를 추적할 수 있습니다.Realm에 저장해야 하는 모든 속성은
@Persisted
로 명시적으로 표시해야 합니다.@Persisted
으)로 표시되지 않은 모든 속성은 Realm에서 완전히 무시되며 모든 유형이 될 수 있습니다.쿼리하기
objects(_:)
인스턴스 메서드를 호출하여 Realm에서 지정된 유형의 모든 객체를 조회할 수 있습니다.관계
자세한 내용은 Swift 가이드 를 참조하세요.
선언
Swift
public typealias Object = RealmSwiftObject
-
EmbeddedObject
임베디드 Realm 모델 객체를 정의하는 데 사용되는 기본 클래스입니다.내장된 객체는 일반 객체와 유사하게 작동하지만 단일 상위 객체(자체적으로 내장될 수 있음)가 소유합니다. 일반적인 최상위 객체와 달리 내장된 객체는 Realm에서 직접 만들거나 Realm에 추가할 수 없습니다. 대신 상위 객체의 일부로 만들거나 관리되지 않는 객체를 상위 객체의 속성에 할당하는 방식으로만 만들 수 있습니다. 내장된 객체는 부모 객체가 삭제되거나 객체 속성을 재할당하거나 포함된 목록에서 내장된 객체를 제거하여 부모가 더 이상 내장된 객체를 가리키지 않도록 부모 객체를 수정하면 내장된 객체가 자동으로 삭제됩니다.
내장된 객체는 연결되는 상위 객체가 하나만 있을 수 있으며 기존 managed 내장된 객체에 연결하려고 하면 예외가 발생합니다.
EmbeddedObject
에서 지원되는 속성 유형은 내장된 객체가 최상위 객체에 연결할 수 없다는 점을 제외하면Object
와 동일하므로Object
및List<Object>
속성은 지원되지 않습니다(EmbeddedObject
및List<EmbeddedObject>
) 입니다.내장된 객체는 기본 키나 인덱싱된 속성을 가질 수 없습니다.
class Owner: Object { @Persisted var name: String @Persisted var dogs: List<Dog> } class Dog: EmbeddedObject { @Persisted var name: String @Persisted var adopted: Bool @Persisted(originProperty: "dogs") var owner: LinkingObjects<Owner> }
선언
Swift
public typealias EmbeddedObject = RealmSwiftEmbeddedObject
-
위도와 경도 값으로 형성되는 점의 좌표를 나타내는 구조체입니다.
- 위도의 범위는 -90도에서 90도 사이입니다.
- 경도 범위는 -180도에서 180도 사이입니다.
이 범위를 벗어나는 값은
GeoPoint
을 만들려고 할 때 nil을 반환합니다.참고
지리 공간적 점을 저장하는 전용 유형은 없으며, 대신 아래 설명된 대로 점을 GeoJson 모양의 내장된 객체로 저장해야 합니다. 지리 공간적 쿼리(geoWithin
)는 이러한 유형의 객체에서만 실행할 수 있으며 그렇지 않으면 발생합니다.Realm의 지리적 점 유지는 현재 오리 타이핑을 사용하여 수행되며, 이는 특정 모양 을 가진 모든 모델 클래스를 지리적 위치가 포함된 것처럼 쿼리할 수 있음을 의미합니다.
다음 사항이 필요합니다.
- Point 값이
@Persisted var type: String = "Point"
인 String 속성입니다. - 경도/위도 쌍을 포함하는 목록:
@Persisted private var coordinates: List<Double>
.
권장되는 접근 방식은 내장된 객체를 사용하는 것입니다.
public class Location: EmbeddedObject { @Persisted private var coordinates: List<Double> @Persisted private var type: String = "Point" public var latitude: Double { return coordinates[1] } public var longitude: Double { return coordinates[0] } convenience init(_ latitude: Double, _ longitude: Double) { self.init() // Longitude comes first in the coordinates array of a GeoJson document coordinates.append(objectsIn: [longitude, latitude]) } }
선언
Swift
public typealias GeoPoint = RLMGeospatialPoint
-
지리 공간적
geoWithin
쿼리에 사용할 수 있는 사각형을 나타내는 클래스입니다.경고
이 클래스는 지속될 수 없으며 지리 공간적geoWithin
쿼리 내에서만 사용할 수 있습니다.선언
Swift
public typealias GeoBox = RLMGeospatialBox
-
지리 공간적
geoWithin
쿼리에 사용할 수 있는 다각형을 나타내는 클래스입니다.GeoPolygon
은outerRing
라고 하는 외부Polygon
및 외부Polygon
내부의 내부 구멍 수에 제한이 없는 0개 이상의 내부Polygon
holes
를 준수하는 모양을 설명합니다.Polygon
는 최소 3개의 세그먼트를 준수하는 모양을 설명하며, 닫힌 다각형을 나타내려면 마지막GeoPoint
과 첫 번째 이 동일해야 합니다(즉, 다각형을 정의하려면 최소 4개의 점이 필요합니다).GeoPolygon
의 내부 구멍은 완전히 외부 링 내부에 있어야 합니다.hole
에는 다음과 같은 제한 사항이 있습니다.- 홀은 교차할 수 없습니다. 즉, 홀의 경계는 다른 홀의 내부와 외부 모두와 교차할 수 없습니다.
- 구멍은 가장자리를 공유할 수 없습니다.
- 구멍은 꼭지점을 공유할 수 있지만, 단일 구멍에 꼭지점이 두 번 나타날 수는 없습니다.
- 빈 구멍이 없을 수 있습니다.
중첩은 하나만 허용됩니다.
경고
이 클래스는 지속될 수 없으며 지리 공간적
geoWithin
쿼리 내에서만 사용할 수 있습니다.경고
고도는 쿼리 계산에 사용되지 않습니다.
선언
Swift
public typealias GeoPolygon = RLMGeospatialPolygon
-
이 구조체는 거리를 나타내거나 변환하는 헬퍼입니다. 다음과 같은 지리 공간적 쿼리에 사용할 수 있습니다.
GeoCircle
경고
이 구조는 지속될 수 없으며 다른 지리 공간적 형태를 만드는 데만 사용할 수 있습니다.선언
Swift
public typealias Distance = RLMDistance
-
지리 공간적
geoWithin
쿼리에 사용할 수 있는 원을 나타내는 클래스입니다.경고
이 클래스는 지속될 수 없으며 지리 공간적geoWithin
쿼리 내에서만 사용할 수 있습니다.선언
Swift
public typealias GeoCircle = RLMGeospatialCircle
-
Realm을 마이그레이션하는 데 사용되는 마이그레이션 블록의 유형입니다.
선언
Swift
public typealias MigrationBlock = @Sendable (_ migration: Migration, _ oldSchemaVersion: UInt64) -> Void
매개변수
migration
마이그레이션을 수행하는 데 사용되는
Migration
객체입니다. 마이그레이션 객체를 사용하면 마이그레이션이 필요한 기존 객체를 열거하고 변경할 수 있습니다.oldSchemaVersion
마이그레이션되는 Realm의 스키마 버전입니다.
-
마이그레이션 중에 사용되는 객체 클래스입니다.
선언
Swift
public typealias MigrationObject = DynamicObject
-
Realm에 있는 객체의 이전 버전과 새 버전을 모두 제공하는 차단 유형입니다. 객체 속성은 첨자를 사용해야 액세스할 수 있습니다.
선언
Swift
public typealias MigrationObjectEnumerateBlock = (_ oldObject: MigrationObject?, _ newObject: MigrationObject?) -> Void
매개변수
oldObject
원래 Realm의 객체입니다(읽기 전용).
newObject
마이그레이션된 Realm(읽기-쓰기)의 객체입니다.
-
Migration
인스턴스는 스키마 마이그레이션을 용이하게 하기 위한 정보를 캡슐화합니다.Realm 버전을 업데이트할 때 인스턴스
Migration
가 사용자 정의MigrationBlock
블록으로 전달됩니다. 이 인스턴스는 이전 및 새 데이터베이스 스키마, Realm의 객체에 대한 액세스를 제공하고 마이그레이션 중에 Realm을 수정하는 기능을 제공합니다.선언
Swift
public typealias Migration = RLMMigration
-
MongoClient
을(를) 사용하면 Realm cloud 서비스를 통해 MongoDB database에서 읽고 쓸 수 있습니다.MongoDatabase
의 인스턴스에 대한 액세스를 제공하며, 차례로 데이터를 보유하는 특정MongoCollection
에 대한 액세스를 제공합니다.참고
데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
다음의 사항도 참조하세요.
선언
Swift
public typealias MongoClient = RLMMongoClient
-
MongoDatabase
은(는) 데이터가 포함된 collection 그룹을 보유하는 MongoDB database를 나타냅니다.MongoClient
에서 검색할 수 있습니다.데이터 읽기 및 쓰기를 위한
MongoCollection
을(를) 가져오는 데 사용합니다.참고
데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
다음의 사항도 참조하세요.
선언
Swift
public typealias MongoDatabase = RLMMongoDatabase
-
MongoCollection
에서find
명령을 실행할 때 사용할 옵션입니다.선언
Swift
public typealias FindOptions = RLMFindOptions
-
에서 , 또는 명령을 실행할 때 사용할
findOneAndUpdate
findOneAndReplace
findOneAndDelete
MongoCollection
옵션입니다.선언
Swift
public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
-
updateOne
또는updateMany
작업의MongoCollection
결과입니다.선언
Swift
public typealias UpdateResult = RLMUpdateResult
-
삽입 성공 또는 Result.failure(오류) 시 Result.success(DocumentId) 를 반환하는 차단
선언
Swift
public typealias MongoInsertBlock = @Sendable (Result<AnyBSON, Error>) -> Void
-
insertMany 또는 Result.failure(error) 성공 시 Result.success([ObjectId]) 를 반환하는 차단
선언
Swift
public typealias MongoInsertManyBlock = @Sendable (Result<[AnyBSON], Error>) -> Void
-
찾기 작업이 성공한 경우 Result.success([문서]) 또는 Result.failure(error) 를 반환하는 차단
선언
Swift
public typealias MongoFindBlock = @Sendable (Result<[Document], Error>) -> Void
-
findOne 작업이 성공한 경우 Result.success(문서?) 또는 Result.failure(error)를 반환하는 차단
선언
Swift
public typealias MongoFindOneBlock = @Sendable (Result<Document?, Error>) -> Void
-
성공적인 카운트 연산에 대해 Result.success(Int) 또는 Result.failure(error) 를 반환하는 차단
선언
Swift
public typealias MongoCountBlock = @Sendable (Result<Int, Error>) -> Void
-
업데이트 작업이 성공하면 Result.success(UpdateResult) 또는 Result.failure(error)를 반환하는 차단
선언
Swift
public typealias MongoUpdateBlock = @Sendable (Result<UpdateResult, Error>) -> Void
-
MongoCollection
은(는) MongoDB collection을 나타냅니다.MongoDatabase
에서 인스턴스를 가져올 수 있습니다.생성, 읽기, 업데이트 및 삭제 메서드를 사용할 수 있습니다.
Realm Cloud 서버에 대한 작업은 비동기적으로 수행됩니다.
참고
데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
다음의 사항도 참조하세요.
선언
Swift
public typealias MongoCollection = RLMMongoCollection
-
WatchStream으로 중개자 역할을 하며 이벤트를 처리합니다.
선언
Swift
public typealias ChangeStream = RLMChangeStream
-
비동기 트랜잭션의 ID입니다.
선언
Swift
public typealias AsyncTransactionId = RLMAsyncTransactionId
-
Realm의 데이터가 수정될 때 알림을 위해 실행할 차단 유형입니다.
선언
-
Logger
사용자 지정 로깅 로직을 만드는 데 사용됩니다.Logger
의 인스턴스를 생성하는 자체 로거를 정의하고 로그 메시지가 있을 때마다 호출되는 로그 함수를 정의할 수 있습니다.let logger = Logger(level: .all) { level, message in print("Realm Log - \(level): \(message)") }
Logger.shared
을(를) 사용하여 이 사용자 지정 로거를 기본 로거로 설정합니다.Logger.shared = inMemoryLogger
참고
기본적으로 로그 임계값 수준은.info
이며, 로깅 문자열은 Apple System Logger로 출력됩니다.선언
Swift
public typealias Logger = RLMLogger
-
Atlas App Services 사용자를 나타내는 객체입니다.
~를 참조하세요.
RLMUser
선언
Swift
public typealias User = RLMUser
-
Atlas App Services 동기화 관련 기능을 managed하고 관리하는 관리자입니다.
~를 참조하세요.
RLMSyncManager
선언
Swift
public typealias SyncManager = RLMSyncManager
-
동기화 클라이언트에서 시간 초과 및 간격을 구성하기 위한 옵션입니다.
~를 참조하세요.
RLMSyncTimeoutOptions
선언
Swift
public typealias SyncTimeoutOptions = RLMSyncTimeoutOptions
-
특정 Realm에 대한 클라이언트와 서버 간의 통신을 나타내는 세션 객체입니다.
~를 참조하세요.
RLMSyncSession
선언
Swift
public typealias SyncSession = RLMSyncSession
-
애플리케이션에 오류를 보고할 수 있도록
SyncManager
에 설정할 수 있는 클로저의 클로저 유형입니다.~를 참조하세요.
RLMSyncErrorReportingBlock
선언
Swift
public typealias ErrorReportingBlock = RLMSyncErrorReportingBlock
-
특정 API에서
SyncUser
객체를 애플리케이션에 비동기적으로 반환하기 위해 특정 API에서 사용하는 클로저의 유형입니다.~를 참조하세요.
RLMUserCompletionBlock
선언
Swift
public typealias UserCompletionBlock = RLMUserCompletionBlock
-
SDK의 동기화 기능과 관련된 오류입니다.
SyncManager
에 등록된 오류 핸들러에서 보고한 모든 오류가 이 유형에 속합니다.~를 참조하세요.
RLMSyncError
선언
Swift
public typealias SyncError = RLMSyncError
-
서버에서 거부된 쓰기에 대한 확장 정보입니다.
서버는 권한, 추가 서버 측 유효성 검사 실패 또는 객체가 Flexible Sync 구독과 일치하지 않는다는 이유로 클라이언트가 수행한 쓰기를 거부하는 경우가 있습니다. 이 경우 nil이 아닌
SyncError.compensatingWriteInfo
필드와 함께 거부된 쓰기 및 그 이유에 대한 정보와 함께.writeRejected
오류가 보고됩니다.이 정보는 디버깅 및 로깅 목적으로만 사용됩니다.
reason
문자열은 서버에서 생성되며 안정성이 보장되지 않으므로 프로그래밍 방식으로 이 문자열을 사용하려고 하면 경고 없이 중단됩니다.선언
Swift
public typealias CompensatingWriteInfo = RLMCompensatingWriteInfo
-
Atlas App Services에 요청할 때 오류가 발생했습니다. 실패할 수 있는 대부분의 사용자 및 앱 함수에서 이러한 유형의 오류를 보고합니다.
선언
Swift
public typealias AppError = RLMAppError
-
로깅 수준을 지정하는 데 사용할 수 있는 열거형입니다.
~를 참조하세요.
RLMSyncLogLevel
선언
Swift
public typealias SyncLogLevel = RLMSyncLogLevel
-
Atlas App Services와 함께 사용할 수 있는 다양한 인증 제공자를 값으로 나타내는 데이터 유형입니다.
~를 참조하세요.
RLMIdentityProvider
선언
Swift
public typealias Provider = RLMIdentityProvider
-
Realm 파일 을 처음 열 때 초기 구독이 채워지는 방식을 제어하는 구성입니다.
~를 참조하세요.
RLMInitialSubscriptionsConfiguration
선언
Swift
public typealias InitialSubscriptionsConfiguration = RLMInitialSubscriptionsConfiguration