gpt4 book ai didi

ios - 无法为键(NS.object.0)解码 Employee 类的对象;该类可能在源代码或未链接的库中定义

转载 作者:技术小花猫 更新时间:2023-10-29 10:40:54 30 4
gpt4 key购买 nike

我试图通过序列化数组将 iPhone 的“员工”对象数组传递给 Apple Watch:

NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:employees];

并将其反序列化为在 Watch 端:

NSMutableArray *employees = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];

这是“员工”类:

@interface Employee : NSManagedObject
@property (nonatomic, retain) NSNumber * employeeID;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * age;
@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSString * designation;
@property (nonatomic, retain) NSString * teamName;
@property (nonatomic, retain) NSString * gender;
@property (nonatomic, retain) NSNumber * dateOfJoining;
@end

我是否必须在 Watch 端进行任何更改才能修复此错误?

最佳答案

所以我遇到了完全相同的问题,答案很简单,但自己很难找到。

您只需使用:

  • NSKeyedArchiver.setClassName("Employee", for: Employee.self)
    连载前
  • NSKeyedUnarchiver.setClass(Employee.self, forClassName: "Employee")
    反序列化之前

任何需要的地方。

看起来 iOS 扩展在类名前加上扩展名。

关于ios - 无法为键(NS.object.0)解码 Employee 类的对象;该类可能在源代码或未链接的库中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028194/

30 4 0