下面的方法是在非主线程上调用的,具体来说是在录音队列回调中
- (void)myMethod
{
//...
dispatch_async(dispatch_get_main_queue(), ^{
[myGraphView setNeedsDisplayInRect:CGRectMake(a, b, c, d)];
NSLog(@"Block called");
});
//...
}
其中 myGraphView 是一个自定义 UIView 对象。据我所知,setNeedsDisplayInRect:
应该在主线程上调用,这就是我准备dispatch_async...
就绪的原因。现在的问题是- (void)drawRect:(CGRect)rect
我为 myGraph 实现的方法永远不会被调用,即使NSLog
块中的 已经被调用了很多次。