在调试时,如果我有一个NSManagedObjectContext,有没有办法查看里面有什么对象。
基本上,我有一个保存错误,因为有一个CGColor被保存,它不符合NSCoding。但是我不知道这个CGColor从哪里来。
发布于 2013-03-08 08:05:19
那么,后退一步,想想你的错误是从哪里来的。
您正在尝试通过NSCoding机制对CGColorRef进行编码。这显然是不受支持的,并且会导致抛出异常。您应该在调试器中添加一个异常断点,以自省执行此错误赋值的位置。然后,您应该能够找出您的问题。
如果您发现这在某种程度上与您的问题无关,那么您确实可以通过-registeredObjects方法内省您的上下文中的对象。
发布于 2013-03-08 08:22:41
我同意JR (下面)的观点,即您应该设置一个异常断点,以便在故障点获得堆栈跟踪。
另一个想法是:虽然自动保存很方便,但它并不总是发生在调试的最佳时间。您可能会发现,当您想要验证对象时,放入一个强制显式保存的调试操作会很有帮助:
[self.document closeWithCompletionHandler:^(BOOL success) {
if (!success) NSLog(@“failed to close document %@”, self.document.localizedName);
}]; 有了它,或者类似的东西,你可以在不同的点开始保存,以查看你的对象何时被破坏。一定要记住,保存是异步的。
https://stackoverflow.com/questions/15284290
复制相似问题