Swift 获取RLMException:Can';t设置主键属性';id';

Swift 获取RLMException:Can';t设置主键属性';id';,swift,realm,Swift,Realm,我有很多方法在领域数据库中异步保存与视频录制相关的相机名称 我的模型: /** Realm object for saving the camera names used to record clip videos */ public class RMCamera: Object { dynamic var id = "" dynamic var name = "" override public class func primaryKey() -> Str

我有很多方法在领域数据库中异步保存与视频录制相关的相机名称

我的模型:

/**
 Realm object for saving the camera names used
 to record clip videos
*/
public class RMCamera: Object {

    dynamic var id = ""
    dynamic var name = ""

    override public class func primaryKey() -> String {
       return "id"
    }

}
在域中保存相机的方法:

/**
删除后保存相机名称以供脱机使用
首先是所有当前条目。
-参数cameraNames:包含要保存的相机名称的字符串数组
*/
public func saveCameraNames(cameraNames:[字符串]){

logv(
572cb087b974c25b01fa40c1
看起来不像
-[NSUIID uuistring]
将返回的值(缺少破折号、小写十六进制而不是
nsuid
使用的大写)。您是故意在此处共享的错误消息中使用虚假值,还是在代码中的其他地方将ID设置为来自其他来源的值?老实说,Crashlytics报告的就是这个哈希值。当我看到这个消息时,我也感到困惑。而且,@bdash,这是代码库中唯一一个正在设置RMCamera的属性!对
nsuid()的不同调用极不可能.UUIDString
将返回相同的值,因此我不知道根据您提供的代码,您是如何遇到此异常的。这里有两个更广泛的问题。第一,为什么Crashlytics是一个与通常NSUID应该创建的128位完全不同的32位哈希值。第二,为什么我会从命令it事务被包装在do/catch块中…
572CB0087B974C25B01FA40C1
看起来不像是
-[NSUIID uuiString]
将返回的值(缺少破折号、小写十六进制而不是
nsuid
使用的大写)。您是故意在此处共享的错误消息中使用虚假值,还是在代码中的其他地方将ID设置为来自其他来源的值?老实说,Crashlytics报告的就是这个哈希值。当我看到这个消息时,我也感到困惑。而且,@bdash,这是代码库中唯一一个正在设置RMCamera的属性!对
nsuid()的不同调用极不可能.UUIDString
将返回相同的值,因此我不知道根据您提供的代码,您是如何遇到此异常的。这里有两个更广泛的问题。第一,为什么Crashlytics是一个与通常NSUID应该创建的128位完全不同的32位哈希值。第二,为什么我会从命令it事务被包装在do/catch块中。。。