Have MyTimer, определенного в классе OneБрус пауза и возобновление NSTimer в другом классе
@property (nonatomic, retain) NSTimer *myTimer;
@synthesize myTimer;
- (void)viewDidLoad {
myTimer = [NSTimer scheduledTimerWithTimeInterval:2.6
target:self
selector:@selector(updateView:)
userInfo:nil
repeats:YES];
[super viewDidLoad];
}
- (void)updateView:(NSTimer *)theTimer
{
if (index < [textArray count])
{
self.textView.text = [self.textArray objectAtIndex:index];
self.imageView.image = [self.imagesArray objectAtIndex:index];
index++;
}else{
index = 0;
}
Я хочу, чтобы приостановить и возобновить MyTimer в классе mainviewcontroller.
В mainviewcontroller.h
@property (nonatomic, strong) ClassOne *oneclass;
и в mainviewcontroller.m
@synthesize oneclass;
затем через UIButton в mainviewcontroller и возобновлять MyTimer
-(void)playpauseAction:(id)sender {
if([audioPlayer isPlaying])
{
[sender setImage:[UIImage imageNamed:@"music.png"] forState:UIControlStateNormal];
[audioPlayer pause];
[myTimer invalidate];
}else{
[sender setImage:[UIImage imageNamed:@"audiostop.png"] forState:UIControlStateNormal];
[audioPlayer play];
[myTimer fire];
if(isFirstTime == YES)
{
self.timer = [NSTimer scheduledTimerWithTimeInterval:06.0
target:self
selector:@selector(displayviewsAction:)
userInfo:nil
repeats:NO];
isFirstTime = NO; } } }
Но получить семантическую проблему и ARC семантических ошибка выпуска
неизвестен приемник myTimer вы имели в виду NSTimer. Никакой известный метод класса для селектора недействителен и не срабатывает
Спасибо за помощь.
Если вы хотите получить доступ к любому объекту, созданному/«принадлежит» классу Один из класса Two (или даже другой экземпляр класса One) , вы должны каким-то образом получить указатель на экземпляр класса One, который «владеет» объектом и получает доступ к объекту через этот указатель. –
FWIW, используя имена типа «classOne» и «oneClass», а затем называя ваши объекты «один» или «один класс», как правило, очень запутан. Попробуйте использовать более описательные имена, и вы обнаружите, что это облегчает жизнь и помогает диагностировать проблемные области. Похоже, что класс «Один» на самом деле является контроллером представления, поэтому его, вероятно, следует назвать чем-то вроде «timerPopupViewController». Затем в вашем mainViewController вы можете создать объект с именем timerPopup, который четко сообщает вам, что это такое :) – JiuJitsuCoder