Xcode 5调试器不打印对象

aka*_*lar 15 xcode objective-c ios lldb xcode5

在升级到xcode 5后,我在控制台上使用lldb调试器进行调试时出现问题.我曾经打字po object并且它曾经工作正常,但是现在我得到了错误

error: instance method 'performBlock:afterDelay:' has incompatible result types in different translation units ('id' vs. 'void')
note: instance method 'performBlock:afterDelay:' also declared here
Run Code Online (Sandbox Code Playgroud)

这是堆栈的屏幕截图,调试器停在的代码,可视化调试器和调试器控制台中的值.可能是什么问题,是xcode 5中的一个错误还是我可以做些什么来纠正这个问题?

Mon*_*art 7

我找到了解决这个问题的方法.问题是我的个人内部框架在一个类别中声明了一个方法NSObject:

- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;
Run Code Online (Sandbox Code Playgroud)

但第三方框架(此处为BlocksKit)声明了同样的方法:

- (id)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;
Run Code Online (Sandbox Code Playgroud)

这两个似乎干扰了LLDB的运行时并且产生了这个奇怪的消息.为了解决这个问题,我刚刚更改了其中一个方法名称.如果这对您有用,请告诉我.