帮我解决这个问题.. 实际上我有一个字符串数组。 我将这些数组作为参数传递给另一个方法,其中这些字符串打印在标签中。 问题是我只获得标签中数组的最后一个索引.. 我需要做什么,用于在Label中显示每个索引字符串?
-(void)method{
NSArray *array=[NSArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven",@"eight",@"nine",@"ten", nil];
for(int i=0;i<10;i++){
NSString *temp=[NSString stringWithFormat:@"%@",array[i]];
[self setTextForLoader:temp];
}
}
+(void)setTextForLoader:(NSString*)loaderStr{
NSLog(@"loaderStr-->%@",loaderStr);
[activityViewLabel setText:@""];
NSString *str = [NSString stringWithFormat:@"%@ %@",@"Syncing",loaderStr];
[activityViewLabel setText:str];
Sleep(1);
}
答案 0 :(得分:0)
像这样更改您的代码。问题是您在sleep
线程上调用了main
方法。
用于调用方法。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Do background work
[self method];
});
这样的setTextForLoader
方法。
-(void)setTextForLoader:(NSString*)loaderStr{
NSLog(@"loaderStr-->%@",loaderStr);
[_labelTimer setText:@""];
NSString *str = [NSString stringWithFormat:@"%@ %@",@"Syncing",loaderStr];
dispatch_async(dispatch_get_main_queue(), ^{
[_labelTimer setText:str];
});
sleep(1);
}