将对象持久化为RealmSwift对象类型时出错'';在领域'; Ok找到了问题

将对象持久化为RealmSwift对象类型时出错'';在领域'; Ok找到了问题,swift,realm,Swift,Realm,我启动了一个线程,从web获取成员,并立即使用RxSwift将查询结果作为可观察结果返回,如下所示: func getBoardMembersGroupedByType() -> Observable<[MemberType: [Member]]> { MeetingRest().getBoardMembers() .subscribeOn(OperationQueueScheduler(operationQueue: NSOperationQueue

我启动了一个线程,从web获取成员,并立即使用RxSwift将查询结果作为可观察结果返回,如下所示:

func getBoardMembersGroupedByType() -> Observable<[MemberType: [Member]]> {

    MeetingRest().getBoardMembers()
        .subscribeOn(OperationQueueScheduler(operationQueue: NSOperationQueue()))
        .subscribeNext { members in DataManager().updateOrInsertObjects(members) }
        .addDisposableTo(bag)

    return DataManager().getObjects(Member)
        .map{ members in members.groupedBy { member in member.memberTypeEnum }
    }

}
以下是领域对象的代码定义:

class Entity: Object {
    dynamic var id: Int64 = 0
    override static func primaryKey() -> String? {
        return "id"
    }
}

class Member: Entity {
    dynamic var name: String!
    dynamic var email: String!
    dynamic var role: String!
    dynamic var curriculumUrl: String!
    dynamic var curriculumThumbnailUrl: String!
    dynamic var pictureUrl: String!
    private dynamic var memberType: String!

    let phoneNumbers = List<PhoneNumber>()

    var memberTypeEnum: MemberType {
        return MemberType(rawValue: memberType) ?? .Member
    }
}

enum MemberType: String {
    case Member
    case Secretary
}

class PhoneNumber: Object {
    dynamic var number: String!
    dynamic var phoneType: String!
}

你能告诉我们发生错误的代码吗?最好的方法是将对象写入领域的代码。@Jurik编辑了这篇文章,提供了更多细节。基本上,当我尝试实例化成员类型时,它会抛出。我无法重现您在这里看到的内容。在您定义类
PhoneNumber
的范围内,是否还有其他名为
Object
的类?然后,您需要显式地从
RealmSwift.Object
继承。您能与我们共享发生错误的代码吗?最好的方法是将对象写入领域的代码。@Jurik编辑了这篇文章,提供了更多细节。基本上,当我尝试实例化成员类型时,它会抛出。我无法重现您在这里看到的内容。在您定义类
PhoneNumber
的范围内,是否还有其他名为
Object
的类?然后您需要显式地从
RealmSwift.Object
继承。
class Entity: Object {
    dynamic var id: Int64 = 0
    override static func primaryKey() -> String? {
        return "id"
    }
}

class Member: Entity {
    dynamic var name: String!
    dynamic var email: String!
    dynamic var role: String!
    dynamic var curriculumUrl: String!
    dynamic var curriculumThumbnailUrl: String!
    dynamic var pictureUrl: String!
    private dynamic var memberType: String!

    let phoneNumbers = List<PhoneNumber>()

    var memberTypeEnum: MemberType {
        return MemberType(rawValue: memberType) ?? .Member
    }
}

enum MemberType: String {
    case Member
    case Secretary
}

class PhoneNumber: Object {
    dynamic var number: String!
    dynamic var phoneType: String!
}
{
    "id": 834,
    "name": "Sallie Oneil",
    "email": "sallieoneil@zillan.com",
    "pictureUrl": "http://placehold.it/100x100",
    "phoneNumbers": [
      {
        "number": "(998) 477-2928",
        "phoneType": "Work"
      },
      {
        "number": "(898) 467-2201",
        "phoneType": "Mobile"
      },
      {
        "number": "(963) 412-3882",
        "phoneType": "Mobile"
      },
      {
        "number": "(924) 409-2270",
        "phoneType": "Mobile"
      }
    ],
    "role": "eu",
    "curriculumUrl": "http://placehold.it/100x200",
    "curriculumThumbnailUrl": "http://placehold.it/100x200",
    "memberType": "Member"
  }