У меня проблемы с обновлением объекта customView во время симуляции.Окно появляется после завершения симуляции.Я бы хотел, чтобы он обновился во время симуляции.Для этого я использую setNeedsDisplay:YES
, а также пробовал display
.Однако все это не работает для меня.У кого-нибудь есть идеи, как мне это сделать?Как вы можете видеть ниже, я попытался создать новый поток для обновления, а также с помощью NSOperations.Благодарен за помощь!
//Run simulation
for (int iteration=0; iteration<numberOfIterations; iteration++){
//NSInvocationOperation *update = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(updatePopulation) object:nil];
//NSInvocationOperation *draw = [[NSInvocationOperation alloc] initWithTarget:view selector:@selector(redraw) object:nil];
//[draw addDependency:update];
//[queue addOperation:update];
//[queue addOperation:draw];
[NSThread sleepForTimeInterval:0.01]; //to make it easer to see..
[self updatePopulation];
//[view redraw];
[NSThread detachNewThreadSelector:@selector(redraw) toTarget:view withObject:nil];
//[self performSelector:@selector(updatePopulation) withObject:nil afterDelay:1];
//[view performSelector:@selector(redraw) withObject:nil afterDelay:1];
//Save segregation
if (iteration%(numberOfIterations/100) == 0) {
printf("hej\n");
}
}
в классе моего зрителя:
- (void) redraw {
//[self setNeedsDisplay:YES];
[self display];
}