我在 Swift 2.0 中从领域数据库加载对象时遇到问题。
我打电话:
var cities = try! Realm().objects(City)
Run Code Online (Sandbox Code Playgroud)
我的应用程序崩溃了,我给出“由于未捕获的异常‘RLMException’而终止应用程序,原因:‘从不正确的线程访问领域’”
有没有人示例代码或教程我应该何时何地调用方法?
clearRealmResults该方法在0.89.1中已弃用
我在代码中的某些地方使用了这种方法。最新的文档没有任何关于它的更新。删除所有结果的新方法是什么Realm?
我有一个List<Workout>偶尔需要排序的对象(例如,如果用户添加了一个无序的锻炼),但我似乎无法让新的排序List<Workout>保持不变。我的代码在运行时就可以工作(即,它按排序显示在视图上),但是当我退出 ViewController 或重新启动应用程序时,我什么也看不到。没有什么是由于exercise.workoutDiary.removeAll()持久性造成的,但显然随后对 的分配exercise.workoutDiary = sortedWorkoutDiary没有持久性。有什么想法吗?
其他一切都很好。典型recordWorkout()情况是假设没有任何乱序输入的情况。因此,除了覆盖排序列表之外,几乎所有情况下持久化都有效。
更新发生在这里:
struct ExerciseDetailViewModel {
private let exercise: Exercise!
func recordWorkout(newWorkout: Workout) {
let lastWorkout = exercise.workoutDiary.last // grab the last workout for later comparison
let realm = try! Realm()
try! realm.write {
exercise.workoutDiary.append(newWorkout) // write the workout no matter what
}
if let secondToLastWorkout = lastWorkout { // only bother checking out of order if there is a last workout...
if newWorkout.date < …Run Code Online (Sandbox Code Playgroud) 我遇到以下问题:
这是一个类ProjectInfo
public class ProjectInfo extends RealmObject
{
@Getter @Setter @PrimaryKey private long projectId;
@Getter @Setter RealmList<Submission> submissions;
}
Run Code Online (Sandbox Code Playgroud)
这是一个类Submission
public class Submission extends RealmObject
{
@Getter @Setter @PrimaryKey long id;
@Getter @Setter Date creationDate;
public Submission() {}
}
Run Code Online (Sandbox Code Playgroud)
当我创建对象并保存到领域数据库时,从 ProjectInfo 到提交的引用在列中显示如下
class_Submission{0,1,2,3}
这看起来是对的。
但是现在当我加载projectInfo对象时
ProjectInfo projectInfo = realm.where(ProjectInfo.class).equalTo("projectId", projectId).findFirst();
Run Code Online (Sandbox Code Playgroud)
该projectInfo.submissions == null;
我是否需要做一些特殊的事情才能自动加载其他表的引用?
我使用的是realm版本
classpath 'io.realm:realm-gradle-plugin:2.1.1'
@Getter 和@Setter 来自projectLombok。
sumbissionsRealmList在调试时,我看到类中调用的成员ProjectInfoRealmProxy具有正确的值。但它们没有写入submissions成员中。是什么原因?
我有一个这样的模型:
\n\nclass CalendarEvent: Object, Mappable {\n\n\ndynamic var exId = ""\n@objc dynamic var title:String = ""\n@objc dynamic var desc:String = ""\ndynamic var fullDate = Date()\ndynamic var date = ""\ndynamic var time = ""\ndynamic var location = ""\ndynamic var subcategory:Subcategory?\ndynamic var update = false\nvar participants = List<Participant>()\n}\n\nclass Category:Object, Mappable{\ndynamic var exId = ""\n@objc dynamic var name="";\nvar subcategories = List<Subcategory>()\n}\n\nclass Subcategory:Object, Mappable{\ndynamic var exId = ""\ndynamic var name = ""\nlet category = LinkingObjects(fromType: Category.self, property: "subcategories")\ndynamic var active:Bool = true\ndynamic var update …Run Code Online (Sandbox Code Playgroud) 我正在使用领域开发一个应用程序。然后我想通过应用程序上的一组 .realm 文件来初始化领域。它最初位于 /Users/*****/Library/Developer/CoreSimulator/Devices/~****~/Documents/default.realm/ 我希望应用程序文件夹中的 default.realm 文件与 Storyboard 和 ViewController 对齐.swift 和其他文件。我该如何解决这个问题?
这是Realm Java所以我正在做
realm.beginTransaction();
realm.deleteAll();
realm.commitTransaction();
Run Code Online (Sandbox Code Playgroud)
我有20个左右的Realm课。我只想保留一个。
而不是做
realm.beginTransaction();
realm.delete(Table1.class);
realm.delete(Table2.class);
realm.delete(Table3.class);
...
realm.commitTransaction();
Run Code Online (Sandbox Code Playgroud)
有没有办法删除除一个表之外的所有表?
“deleteAll. except(Table12.class)”等?
谢谢!
领域数据库中使用哪种数据类型(即字符串、整数等)?该数据类型的大小是多少?
(即在 mySQL varchar 中最大长度为65,535。)
database android realm android-database realm-mobile-platform
我通过 Cocoapod 安装了 RealmSwift。尽管我没有将 Realm(Objective-C 版本)框架添加到 Podfile 中,但它仍然使用 RealmSwift 安装了 Realm。当我导入 RealmSwift 时,它给了我这样的错误:
模块“Realm”和“RealmSwift”之间的循环依赖。
为什么会发生这种情况以及我需要什么来消除这个愚蠢的错误?
我正在尝试初始化几个对象,其中包括列表对象,但我不确定确切的语义是什么。是否可以从 Realm 对象中初始化 List 对象,或者我是否必须以其他方式附加它们?
class ResourcesData: Object {
@objc dynamic var resourceID = UUID().uuidString
@objc dynamic var name = "";
let valueSemantics = List<ValueSemantics>();
convenience init(resourceName: String, semantics: List<ValueSemantics>) {
self.init()
self.name = resourceName
self.valueSemantics = semantics
}
override static func primaryKey() -> String? {
return "resourceID"
}
}
Run Code Online (Sandbox Code Playgroud)
我的列表模型与初始值设定项
class ValueSemantics: Object {
@objc dynamic var name = "";
@objc dynamic var value = 0;
convenience init(value: Int, valueName: String) {
self.init()
self.name = valueName
self.value = value …Run Code Online (Sandbox Code Playgroud)