从XCode'调用一个块;调试器

从XCode'调用一个块;调试器,xcode,debugging,objective-c-blocks,Xcode,Debugging,Objective C Blocks,我可以从XCode调试器调用块吗?我刚才试过: po zoomCurve(0) 其类型为: typedef CGFloat (^STAnimationCurveBlock)(CGFloat t); 调试器说: 错误:被调用的对象类型“STAnimationCurveBlock”(又名“\uu block\u literal\u generic*”)不是函数或函数指针 错误:1解析表达式时出错 如中所述,调试器似乎不知道块的类型。您需要将块强制转换为其类型。在具体情况下,您有: po ((CG

我可以从XCode调试器调用块吗?我刚才试过:

po zoomCurve(0)
其类型为:

typedef CGFloat (^STAnimationCurveBlock)(CGFloat t);
调试器说:

错误:被调用的对象类型“STAnimationCurveBlock”(又名“\uu block\u literal\u generic*”)不是函数或函数指针 错误:1解析表达式时出错

如中所述,调试器似乎不知道块的类型。您需要将块强制转换为其类型。在具体情况下,您有:

po ((CGFloat(^)(CGFloat))zoomCurve)(0.9)
出于某种原因,强制转换到
typdef
类型也不起作用,并会产生相同的错误。具体而言,这将产生相同的错误:

po ((STAnimationCurveBlock)zoomCurve)(0.9)

如果您使用lldb,请检查以下答案:lldb是默认的调试器吗?或者,我如何知道我使用的是哪个调试器?啊–无论如何,强制转换块指针对我来说很有效。那是一件很烦人的事!