Switch 문이 작동하지 않습니다. switch 문을 사용하여 뷰를 업데이트하면 타이머가 무효화됩니다. switch 문에서 뷰를 처음부터 두 번째 뷰로 전환한다고 가정했으나 그렇게하지 않았습니다.Switch 문이 작동하지 않습니다.
@property (nonatomic, assign) NSUInteger viewControl;
@synthesize viewControl;
-(void)playpauseAction:(id)sender
{
if
([audioPlayer isPlaying]){
[sender setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateSelected];
[audioPlayer pause];
[timer invalidate];
} else {
[sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
[audioPlayer play];
self.timer = [NSTimer scheduledTimerWithTimeInterval:11 target:self selector:@selector(displayviewsAction:) userInfo:nil repeats:NO];
}
}
- (void)displayviewsAction:(id)sender
{
switch(viewControl)
{
case 0:
[self performSelector:@selector(FirstViewController) withObject:nil];
break;
case 1:
[self performSelector:@selector(secondViewController) withObject:nil];
break;
case 2:
[self performSelector:@selector(thirdViewController) withObject:nil];
break;
}
}
-(void)FirstViewController {
FirstViewController *viewController = [[FirstViewController alloc] init];
viewController.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:viewController.view];
[self.view addSubview:toolbar];
[viewController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(secondViewController) userInfo:nil repeats:NO];
}
-(void)secondViewController {
SecondViewController *secondController = [[SecondViewController alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:secondController.view];
[self.view addSubview:toolbar];
[secondController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(ThirdviewController) userInfo:nil repeats:NO];
}
코드에 누락 된 사항이 있습니다.
switch 문을 제외하고는'viewControl'에 대한 참조를 볼 수 없습니다. 그 가치는 무엇이며 어디서 비롯된 것입니까? – UIAdam
읽기 쉽게 코드를 들여 쓰기하십시오. – Caleb
"viewControl"이 무엇으로 설정되어 있는지 표시하려면 displayviewsAction 내에 로그 문을 추가하는 것이 좋습니다. 나는 그것이 당신이 생각하는 바가 아닌 것으로 의심합니다. –