RLMError

Objective-C

enum RLMError : NSInteger {}

Swift

typealias RLMError.Code._ErrorType = RLMError

RLMError 是一个表示所有可恢复错误的枚举。 它与RLMErrorDomain中指定的 Realm 错误域相关联。

  • 表示尝试打开 Realm 时发生的一般错误。

    声明

    Objective-C

    RLMErrorFail = 1

    Swift

    case fail = 1
  • 表示尝试打开 Realm 时发生的文件 I/O 错误。

    声明

    Objective-C

    RLMErrorFileAccess = 2

    Swift

    case fileAccess = 2
  • 表示尝试打开 Realm 时发生的文件权限错误。

    如果用户在打开 Realm 时无权以指定的访问模式打开或创建指定文件,则可能会出现此错误。

    声明

    Objective-C

    RLMErrorFilePermissionDenied = 3

    Swift

    case filePermissionDenied = 3
  • 表示将一个文件写入磁盘时发生错误,但已存在另一个同名文件。

    声明

    Objective-C

    RLMErrorFileExists = 4

    Swift

    case fileExists = 4
  • 表示在找不到文件时发生的错误。

    如果尝试以只读方式打开 Realm 时在磁盘上找不到 Realm 文件,或者尝试写入副本时找不到指定路径的目录部分,则可能会出现此错误。

    声明

    Objective-C

    RLMErrorFileNotFound = 5

    Swift

    case fileNotFound = 5
  • 表示需要升级文件格式才能打开文件,但已明确禁用升级或正以只读模式打开文件时出现的错误。

    声明

    Objective-C

    RLMErrorFileFormatUpgradeRequired = 6

    Swift

    case fileFormatUpgradeRequired = 6
  • 表示如果数据库文件当前在另一个进程中打开,而由于架构不匹配而无法与当前进程共享,则会出现错误。

    如果尝试在 i386(32 位)iOS 模拟器和 Realm Studio 应用程序之间共享 Realm 文件,则可能会出现此错误。 在这种情况下,请使用 64 位版本的 iOS 模拟器。

    声明

    Objective-C

    RLMErrorIncompatibleLockFile = 8

    Swift

    case incompatibleLockFile = 8
  • 表示当没有足够的可用地址空间来 mmap Realm 文件时出现的错误。

    声明

    Objective-C

    RLMErrorAddressSpaceExhausted = 9

    Swift

    case addressSpaceExhausted = 9
  • 表示在模式版本不匹配且需要迁移时出现的错误。

    声明

    Objective-C

    RLMErrorSchemaMismatch = 10

    Swift

    case schemaMismatch = 10
  • 表示无法对打开的文件执行请求的操作时出现的错误。

    声明

    Objective-C

    RLMErrorAlreadyOpen = 12

    Swift

    case alreadyOpen = 12
  • 表示输入值无效时出现的错误。

    声明

    Objective-C

    RLMErrorInvalidInput = 13

    Swift

    case invalidInput = 13
  • 表示由于磁盘空间不足而导致写入失败的错误。

    声明

    Objective-C

    RLMErrorOutOfDiskSpace = 14

    Swift

    case outOfDiskSpace = 14
  • 表示由于另一个进程以与进程间共享不兼容的方式打开 Realm 文件而无法打开同一文件的错误。 例如,这可能是由于在非内存模式下打开内存中 Realm 的备份文件而导致的。

    声明

    Objective-C

    RLMErrorIncompatibleSession = 15

    Swift

    case incompatibleSession = 15
  • 表示如果文件是有效的 Realm 文件,但此版本的 Realm 不支持其文件格式版本,则会发生错误。 这通常平均值该文件是由较新版本的 Realm 写入的,但也可能平均值它来自 1.0 之前的 RealmRealm 版本(对于同步文件,则为 10.0 之前的版本)。

    声明

    Objective-C

    RLMErrorUnsupportedFileFormatVersion = 16

    Swift

    case unsupportedFileFormatVersion = 16
  • 表示同时在多个进程中打开同步 Realm 时发生的错误。

    声明

    Objective-C

    RLMErrorMultipleSyncAgents = 17

    Swift

    case multipleSyncAgents = 17
  • 订阅被服务器拒绝。

    声明

    Objective-C

    RLMErrorSubscriptionFailed = 18

    Swift

    case subscriptionFailed = 18
  • 文件操作失败,没有更具体的错误代码。

    声明

    Objective-C

    RLMErrorFileOperationFailed = 19

    Swift

    case fileOperationFailed = 19
  • 表示在打开的文件不是有效 Realm 文件时发生的错误。 造成这种情况的一些可能原因是:

    1. 给定 URL 上的文件根本就不是 Realm 文件。
    2. 提供了错误的加密密钥。
    3. Realm 文件已加密,且未提供加密密钥。
    4. Realm 文件未加密,但已提供加密密钥。
    5. 磁盘上的文件已损坏。

    声明

    Objective-C

    RLMErrorInvalidDatabase = 20

    Swift

    case invalidDatabase = 20
  • 表示在错误的历史记录模式下打开 Realm 时发生的错误。 通常,这意味着本地 Realm 作为同步 Realm 打开,反之亦然。

    声明

    Objective-C

    RLMErrorIncompatibleHistories = 21

    Swift

    case incompatibleHistories = 21
  • 表示在没有该对象类型的任何活动订阅的情况下将对象写入灵活同步 Realm 时发生的错误。 在 Flexible Sync Realm 中创建的所有对象都必须与至少一个活动订阅匹配,否则服务器将拒绝写入。

    声明

    Objective-C

    RLMErrorNoSubscriptionForWrite = 22

    Swift

    case noSubscriptionForWrite = 22