Как отобразить NSArray в UILabel и использовать таймер - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь отобразить массив чисел в UILabel, используя таймер, и показать их в порядке, установленном в массиве, но я получаю только заголовок в формате и затем SIGABRT! любые предложения ... Спасибо

Часть кода с проблемами!

-(IBAction) rotate3
{
    NSString *number = [dayArray initWithArray:(NSArray *)dayArray];
    NSArray *array = [[NSArray alloc] initWithObjects: @"0", @"1", @"2", @"3", @"4", @"5" ,@"6", @"7", @"8",@"9",@"10",@"11",@"12",@"13", @"14", @"15", @"16", @"17", @"18", @"19",nil];
    numberCount++;
    timer=[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(rotate3 )userInfo:nil repeats:YES];    
    self.dayArray = array;
    [array release];

    label.text = [[NSString alloc] initWithFormat:@"Day %@  " number];
} 

Ответы [ 2 ]

0 голосов
/ 05 ноября 2011

Возможно, ваш SIGABRT вызван повреждением стека: NSTimer можно использовать только с селекторами вида:

- (void)myTimerFireMethod: (NSTimer *)timer;

но вы пытаетесь использовать его с

- (void)rotate3;

, который не принимает достаточных аргументов.

0 голосов
/ 05 ноября 2011

Это очень странная строка: [dayArray initWithArray:(NSArray *)dayArray];. Попробуйте это:

-(IBAction) rotate3
{
    NSString *number = [self.dayArray description];
    NSArray *array = [[NSArray alloc] initWithObjects: @"0", @"1", @"2", @"3", @"4", @"5" ,@"6", @"7", @"8",@"9",@"10",@"11",@"12",@"13", @"14", @"15", @"16", @"17", @"18", @"19",nil];
    numberCount++;
    timer=[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(rotate3 )userInfo:nil repeats:YES];    
    self.dayArray = array;
    [array release];

    label.text = [NSString stringWithFormat:@"Day %@  ", number];
}
...