如何在UILabel中显示NSArray并使用计时器

时间:2011-11-05 06:55:31

标签: objective-c nsarray nstimer

我正在尝试使用计时器在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 :(得分:0)

这是非常奇怪的字符串:[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];
}

答案 1 :(得分:0)

您的SIGABRT可能是由于堆栈损坏:NSTimer只能与表单的选择器一起使用:

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

但是您正尝试将其与

一起使用
- (void)rotate3;

没有足够的论据。