Tag: 领域

通过使用Realm的多个属性进行sorting

我如何使用多个属性来订购我的Realm结果? 我首先使用一个属性来sorting它们: allShows = Show.allObjects().sortedResultsUsingProperty("dateStart", ascending: true) 但是现在我也想通过另一个属性“timeStart”进行二次sorting。 我试过这样的: allShows = Show.allObjects().sortedResultsUsingProperty("dateStart", ascending: true).sortedResultsUsingProperty("timeStart", ascending: true) 这只会使结果仅由第二个属性sorting。 请帮忙。

如何在Swift for Realm模型中设置主键

我在一个新的iOS Swift项目中使用Realm。 我使用iOS SDK 8.0和Realm 0.85.0的Xcode 6.0.1 我正在尝试使用新的Realm主键function,所以我可以做一个addOrUpdateObject 。 这是一个示例模型: import Foundation import Realm class Foo: RLMObject { dynamic var id = 0 dynamic var title = "" func primaryKey() -> Int { return id } } 而我正在试图添加/更新一个新的对象: let foo = Foo() foo.title = titleField.text foo.id = 1 // Get the default Realm let realm […]

Realm将数据追加到List <t>types

我试图通过数据,并将其保存在我的模型,但无论我做我不断收到以下错误: Can't mutate a persisted array outside of a write transaction. 。 我究竟做错了什么? 我将每场比赛附加到联赛,但它似乎并没有工作? 领域模型 class League: Object { dynamic var id: Int = 0 dynamic var name: String? = "" var matches = List<Match>() override class func primaryKey() -> String { return "id" } } class Match: Object { dynamic var matchId: Int = […]

Swift – “共享应用程序不可用”。 代之以使用视图控制器的解决scheme

我打开一个外部URL在我的Swift应用程序使用行: UIApplication.sharedApplication().openURL(url) 这工作正常,直到我通过CocoaPods添加Realm到我的项目。 在这一点上,它开始给我下面的两个编译错误: 'sharedApplication()'不可用:取而代之,使用基于视图控制器的解决scheme。 “openURL”不可用 这些错误表明该API对于应用程序扩展是不可用的,但是我的代码位于正常的应用程序中,而不是扩展名。 为什么添加Realm导致编译器认为它在App Extension中?

我应该为Realm中的每个实体定义主键吗?

我注意到设置PK在Realm中不是强制性的,只是可以省略。 但是在文档中指出: 索引是为主键属性自动创build的。 我想澄清一些问题: 1)如果我没有自己分配,那么PK的缺省值是由Realm定义的。 它是散列或什么的? (如果我不设置PK并调用[MyRealmObject primaryKey]则返回nil ) 2)如果这个隐式PK是默认索引的? 我是否应该担心,因为如果它没有被索引,这是否意味着它会影响这个实体的整体性能(例如,获取对象)? 3)每次为每个RLMObject子类定义PK还是不需要Realm,并且可能只依赖Realm本身定义的内部实现?

领域对象已被删除或失效

当我启动我的应用程序时,我执行一个API调用来查看是否有新的数据可用。 数据存储在我的本地Realm数据库中,其中一些数据显示在初始表视图控制器中。 一旦API调用完成,我检查是否满足一些条件,需要我从数据库中删除一堆以前的数据,然后创build新的对象。 但是,当我删除旧数据时,我的应用程序崩溃,出现以下exception: 2015-08-06 11:56:32.057 MSUapp[19754:172864] *** Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.' *** First throw call stack: ( 0 CoreFoundation 0x000000010660cc65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x00000001083bdbb7 objc_exception_throw + 45 2 Realm 0x0000000105b78e95 _ZL17RLMVerifyAttachedP13RLMObjectBase + 85 3 Realm 0x0000000105b7878d _ZL10RLMGetLinkP13RLMObjectBasemP8NSString + 29 4 Realm 0x0000000105b7c23e […]

领域通知令牌在后台线程

我试图在后台线程上获取领域数据并添加通知块(iOS,Swift)。 基本示例: func initNotificationToken() { DispatchQueue.global(qos: .background).async { let realm = try! Realm() results = self.getRealmResults() notificationToken = results.addNotificationBlock { [weak self] (changes: RealmCollectionChange) in switch changes { case .initial: self?.initializeDataSource() break case .update(_, let deletions, let insertions, let modifications): self?.updateDataSource(deletions: deletions, insertions: insertions, modifications: modifications) break case .error(let error): fatalError("\(error)") break } } } […]

复合主键realm / swift

我是新来的迅速和领域。 我想做一个复合主键,当我尝试这样的事情: class DbLocation : Object { dynamic var id = 0 dynamic var tourId = 0 dynamic var uuid : String { return "\(id)\(tourId)" } override static func primaryKey() -> String? { return "uuid" } } 我得到这个错误:'主键属性'uuid'不存在对象'DbLocation' 任何人都可以帮助我一个例子如何创build一个复合主键?

我可以序列化一个RealmObject到JSON或Swift的Realm中的NSDictionary?

我正在testing领域,但我找不到一个简单的方法来将我的对象转换为JSON。 我需要将数据推送到我的REST界面。 我怎样才能用swift做到这一点? class Dog: Object { dynamic var name = "" } class Person : Object { dynamic var name = "" let dogs = List<Dog>() } 我想这样的事情,但我不能迭代未知的对象(列表) extension Object { func toDictionary() -> NSDictionary { let props = self.objectSchema.properties.map { $0.name } var dicProps = self.dictionaryWithValuesForKeys(props) var mutabledic = NSMutableDictionary() mutabledic.setValuesForKeysWithDictionary(dicProps) for prop […]

领域Swift模型是否分开?

我是新来的iOS和Swift的世界,我正在一个新的应用程序,我想使用Realm的持久性。 我的代码中已经有我的服务访问并填充HTTP API端点的实体。 现在我想坚持某些实体,并想要build议我是否应该为Real中的每个实体创build新的Realm特定模型,以便从Realm中读取和写入。 或者我应该把我现有的普通Swift实体转换成Realm实体。 起初,这感觉不对,因为我将通过Realm实体在我的应用程序周围,而不是在持久层。 然而,另一种select是,每次我读/写实体到Realm时,我都需要将它们从实体来回转换成Realm实体。 任何build议最好的办法呢? 谢谢