标签: realm

避免向Realm添加重复对象

我从Parse.com查询数据并将它们保存在本地Realm数据库(iOS/swift)中.每个对象都有一个唯一的属性(A),但也有一个可能相同的属性(B).避免将具有相同属性B的对象添加到领域数据库中的最有效方法是什么?提前致谢.

realm ios parse-platform swift

11
推荐指数
1
解决办法
8798
查看次数

将数组存储在Realm对象中

我是Swift中的Realm新手.有没有办法在Realm Object中存储字符串数组?

我有一个JSON对象,如:

"firstName": "John",
"imgName": "e9a07f7d919299c8fe89a30022151135cd63773f.jpg",
"lastName": "Wood",
"permissions": {
    "messages": ["test", "check", "available"]
},
Run Code Online (Sandbox Code Playgroud)

如何在权限密钥中存储消息数组?

orm realm ios swift

11
推荐指数
2
解决办法
1万
查看次数

Realm.io - 如何更新对象?

我正在使用0.81.1版本的Realm.我有这门课:

public class KanjiComp extends RealmObject {

    @PrimaryKey
    private String character;
    private String strokes;
    private int frequency;

    public String getCharacter() {
        return character;
    }

    public void setCharacter(String character) {
        this.character = character;
    }

    public String getStrokes() {
        return strokes;
    }

    public void setStrokes(String strokes) {
        this.strokes = strokes;
    }

    public int getFrequency() {
        return frequency;
    }

    public void setFrequency(int frequency) {
        this.frequency = frequency;
    }
}
Run Code Online (Sandbox Code Playgroud)

我第一次创建这样的对象:

    KanjiComp realmKanjiComp = realm.createObject(KanjiComp.class);
    realmKanjiComp.setCharacter(cur.getString(cur.getColumnIndex("literal")));
    realmKanjiComp.setStrokes(cur.getString(cur.getColumnIndex("strokes")));
    realmKanjiComp.setFrequency(0);
Run Code Online (Sandbox Code Playgroud)

我想增加频率值.为此我需要帮助我更新频率的方法.

领域文档说明了这一点:

使用主键可以使用createOrUpdate()方法,该方法将查找具有此主键的现有对象,如果找到,则更新它; 如果没有找到,它将创建一个新对象.

但我找不到createOrUpdate()方法.使用JSON的所有方法. 在此输入图像描述

我的完整代码如下所示: …

android realm

11
推荐指数
1
解决办法
2万
查看次数

如何安装域作为gradle依赖?

我对领域完全陌生.我想在我的android项目中使用realm db.我已经阅读了官方的Realm文档.我需要在我的android项目中设置领域.为此,我已将gradle依赖性添加为

    buildscript {
            repositories {
                     jcenter()
                         }
            dependencies {
                classpath "io.realm:realm-gradle-plugin:0.88.2"
           }
       }
 apply plugin: 'realm-android'
Run Code Online (Sandbox Code Playgroud)

这是他们在文档中给出的.但这对我不起作用.它给出了错误说法Plugin with id 'realm-android' not found.

这是我的build.gradle文件

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.db.realmsample"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:0.88.2"
    }
  }

 }

 dependencies {
  compile …
Run Code Online (Sandbox Code Playgroud)

android realm

11
推荐指数
2
解决办法
2万
查看次数

我的#if TARGET_OS_SIMULATOR代码用于Realm路径定义有什么问题?

我有这个代码

 #if TARGET_OS_SIMULATOR
let device = false
let RealmDB = try! Realm(path: "/Users/Admin/Desktop/realm/Realm.realm")
#else
let device = true
let RealmDB = try! Realm()
#endif
Run Code Online (Sandbox Code Playgroud)

设备bool工作正常,但RealmDB仅适用于其他条件.

realm swift

11
推荐指数
3
解决办法
5369
查看次数

如何使用最近日期对RealmResults进行排序?

我在RealmResults中有大约20行,需要使用最近的日期对列表进行排序

RealmConfiguration realmConfig = new RealmConfiguration.Builder(getActivity()).build();
Realm realm = Realm.getInstance(realmConfig);
Run Code Online (Sandbox Code Playgroud)

如下

RealmResults<MyTable> List = realm.where(MyTable.class).findAll().sort("date",SORT.DESCENDING);
Run Code Online (Sandbox Code Playgroud)

realm realm-list

11
推荐指数
1
解决办法
1万
查看次数

如何从iOS中完全删除Realm数据库?

现在我得到错误Property types for 'value' property do not match. Old type 'float', new type 'double'如何清除数据库或迁移成功?

realm swift

11
推荐指数
3
解决办法
2万
查看次数

Swift从Realm中删除对象

我有从JSON响应中保存列表的Realm对象.但是现在我需要删除该对象,如果该对象不再从JSON列表中列出.我是怎么做到的?这是我的领域

func listItems (dic : Array<[String:AnyObject]>) -> Array<Items> {
        let items : NSMutableArray = NSMutableArray()
        let realm = try! Realm()
        for itemDic in dic {
            let item = Items.init(item: itemDic)
                try! realm.write {
                    realm.add(item, update: true)
                }
            items.addObject(item)
        }
        return NSArray(items) as! Array<Items>
}
Run Code Online (Sandbox Code Playgroud)

xcode realm swift

11
推荐指数
4
解决办法
2万
查看次数

领域从错误的线程访问 - 再次

我注意到访问领域对象有很多问题,我认为我的解决方案就是解决这个问题.

所以我写了这样简单的帮助方法:

public func write(completion: @escaping (Realm) -> ()) {
    DispatchQueue(label: "realm").async {
        if let realm = try? Realm() {
            try? realm.write {
                completion(realm)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为完成块会很好,因为每次我写对象或更新它时,我都使用上面的方法.

不幸的是我收到了错误:

libc++abi.dylib: terminating with uncaught exception of type realm::IncorrectThreadException: Realm accessed from incorrect thread.
Run Code Online (Sandbox Code Playgroud)

realm ios swift

11
推荐指数
2
解决办法
2万
查看次数

无法确定此崩溃日志的原因

我在App Store中有一个应用程序有很多崩溃,但我不能自己重现它.我有很多崩溃日志,但它们不包含回溯,因此很难诊断问题.

崩溃日志显示CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER,这可能是由于根据SO上的其他问题将通知发送给解除分配的观察者而引起的.然而,该应用程序仅在iOS 10+上运行,并且根据Apple的说法,除非他们是块观察者,否则没有必要从iOS 9开始取消注册观察者.哪个我的应用程序不使用,因此就我自己的应用程序通知而言,这不是原因.

    Incident Identifier: 77AB1312-9C1F-4BC1-957E-B742856DC635
    CrashReporter Key:   6ad59ac64c53d2fc92208e8df23d4ddc8fed39fd
    Hardware Model:      iPhone10,3
    Process:             My App [378]
    Path:                /private/var/containers/Bundle/Application/99C2E2C8-9655-4D07-9608-870B5DD17C21/My app.app/My app
    Identifier:          com.myapp
    OS Version:          iPhone OS 10.3.2 (14F89)
    Code Type:           ARM-64 (Native)
    Role:                Foreground
    Parent Process:      launchd [1]
    Coalition:           com.myapp[498]


    Date/Time:           2018-06-06 00:18:34.2085 -0700
    Launch Time:         2018-06-06 00:17:39.1406 -0700
    Baseband Version:    2.03.00
    Report Version:      104
          Exception Type:  EXC_CRASH (SIGABRT)
            Exception Codes: 0x0000000000000000, 0x0000000000000000
            Exception Note:  EXC_CORPSE_NOTIFY
            Triggered by Thread:  0

            Thread 0 name:
            Thread 0 Crashed:
            0   libsystem_kernel.dylib …
Run Code Online (Sandbox Code Playgroud)

realm ios swift

11
推荐指数
1
解决办法
617
查看次数

标签 统计

realm ×10

swift ×7

ios ×4

android ×2

orm ×1

parse-platform ×1

realm-list ×1

xcode ×1