Цель C: передача переменных между классами - PullRequest
0 голосов
/ 23 января 2011

Я хочу передать NSMutableDictionary из одного класса через таймер в другой класс, который вызывается из таймера. Я получаю ошибку в @selector([generateStickFig:enemies]) Я пытался убрать [], но она все еще ошибается.

-(void)awakeFromNib {

//start timer that fires every second
NSMutableDictionary *enemies = [[NSMutableDictionary alloc] init];
[NSTimer scheduledTimerWithTimeInterval:(0.001) target:self selector:@selector([generateStickFig:enemies]) userInfo:nil repeats:YES];

}

-(void) generateStickFig:(NSMutableDictionary *)enemies {

int x = random() % 1000;

if (x == 1) {
    stickFig = [[UIButton alloc] initWithFrame:CGRectMake(0, 650, 50, 50)];
    [stickFig setBackgroundColor:[UIColor blackColor]];
    [stickFig addTarget:self action:@selector(tapFig:) forControlEvents:UIControlEventTouchUpInside];
    [enemies setObject:object forKey:[NSString stringWithFormat:@"object%i",i]];
    [self.view addSubview:stickFig];
}
}

Есть предложения?

1 Ответ

1 голос
/ 23 января 2011

Попробуйте

[NSTimer scheduledTimerWithTimeInterval:(0.001) target:self selector:@selector(generateStickFig:) userInfo:enemies repeats:YES];

для создания таймера. Затем измените метод обратного вызова на

-(void) generateStickFig:(NSTimer *)timer {
NSDictionary *enemies = (NSDictionary *)timer.userInfo;
    ...
}
...