我目前有一些代码可以做这样的事情(大大简化,但足以说明这一点):
@property (weak) IBOutlet CustomViewClass *customView;
...
for (int i=0; i<iterations; i++) {
// Crunch some data (Up to ~200,000 operations)...
// Update view to represent where we are in the process:
[_customView setNeedsDisplay:YES];
}
每当我为给定数量的迭代运行代码时,自定义视图 drawRect: 方法只会在所有迭代完成后调用一次。
我想要的是在每次迭代后强制更新视图,并等到视图被重绘后再进行下一次迭代 - 但我在文档中找不到任何地方如何让它像我一样工作喜欢!
我觉得如果我可以直接调用 drawRect: 就可以解决我的问题,但我知道 NSView 不允许这样做!
有人能指出我正确的方向吗?