我正在使用iOS 6为iPad项目开发Objective-C代码库。
在我将“ClassA”类的名称重构为“ClassB”后,我发现以下测试失败:
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:objectOfClassB];
ServiceOrderOld *decodedObject = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];
[[[decodedObject class] should] equal:[objectOfClassB class]];
我得到的错误信息是:“[FAILED],预计受到相同的ClassB,得到了ClassB”
可能导致这种奇怪行为的原因是什么?有关调试的任何提示吗?
答案 0 :(得分:1)
我希望我不会太迟;)
我在测试框架时遇到了同样的问题。 事实证明,所讨论的课程也在测试的目标中。我认为它与框架的类不匹配(但编译!)。 我从测试的目标中删除了该类,并且测试通过了。
答案 1 :(得分:0)
似乎类与归档机制无关。你取消归档时是否试过重新上课?
DesiredClass *object = (DesiredClass*) [NSKeyedUnarchiver
unarchiveObjectWithData:encodedObject];