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中的一个错误还是我可以做些什么来纠正这个问题?
我找到了解决这个问题的方法.问题是我的个人内部框架在一个类别中声明了一个方法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的运行时并且产生了这个奇怪的消息.为了解决这个问题,我刚刚更改了其中一个方法名称.如果这对您有用,请告诉我.
| 归档时间: |
|
| 查看次数: |
3084 次 |
| 最近记录: |