RealmSwift 3.0.2和Swift4问题

时间:2018-01-14 19:16:27

标签: realm cocoapods swift4

使用RealmSwift-3.0.2,Cocoapods-1.3.1,Swift-4.0.3,iOS-11.2,XCode-9.2

我正在尝试创建一个Realm对象(就像我过去三年一直做的那样)。 但是从Swift4开始,似乎有些东西出现了!

我收到以下错误消息:

libc++abi.dylib: terminating with uncaught exception of type NSException

以下是我的代码:

import RealmSwift

var rlm: Realm?

override func viewDidLoad() {
    super.viewDidLoad()

    // instantiate Realm
    self.rlm = try? Realm()  // !!!!!!!!!!! Here is where the above error happens...
}

我的PodFile看起来像这样:

project 'MyApp.xcodeproj'
workspace 'MyApp.xcworkspace'
platform :ios, '11.2'
inhibit_all_warnings!

source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

def shared_pods
      pod 'RealmSwift'
end

target 'MyApp' do
    shared_pods
end

target 'MyAppTests' do
    shared_pods
end

target 'MyAppUITests' do
    shared_pods
end

任何帮助表示赞赏!!

1 个答案:

答案 0 :(得分:0)

我发现了错误:

我的Realm对象有一个错误的主键(即类型错误!!)

override static func primaryKey() -> String? {
    return "myID" // !!!! Was "mID" :/ :/
}

在纠正了类型错误之后,这一切都很好用了!

(如果RealmSwift错误消息在某种程度上更具说明性,那将是很好的......)