Objective c 做两个步骤-一个接一个
我不知道该怎么做: 我有一个ImageView,通过单击我希望在ImageView中显示的按钮:第一个图像,然后等待几秒钟,并执行一些while循环,该循环将查找第二个图像(通过在许多其他图像的while循环中遵循说明),然后显示所选(第二个)图像 我不确定我是否已经非常清楚地描述了我的问题,因此下面是示例代码:Objective c 做两个步骤-一个接一个,objective-c,loops,sleep,Objective C,Loops,Sleep,我不知道该怎么做: 我有一个ImageView,通过单击我希望在ImageView中显示的按钮:第一个图像,然后等待几秒钟,并执行一些while循环,该循环将查找第二个图像(通过在许多其他图像的while循环中遵循说明),然后显示所选(第二个)图像 我不确定我是否已经非常清楚地描述了我的问题,因此下面是示例代码: - (IBAction)button:(id)sender { i=0; UIImage *img = [UIImage imageNamed:@"image1.png"];
- (IBAction)button:(id)sender {
i=0;
UIImage *img = [UIImage imageNamed:@"image1.png"];
[first setImage:img];
/*some code which sets the time the image1 stay shown*/
while (i<some_variable) {
/*blah blah blah*/
if (something) {UIImage *img = [UIImage imageNamed:@"image2.png"];
[first setImage:img];}
if (something else) {UIImage *img = [UIImage imageNamed:@"image3.png"];
[first setImage:img];}
...
/*code code code*/
i++;
}
}
它只是等待空白,然后处理代码并显示所选图像
这应该是非常基本的东西,我想不出任何想法。这解决了我的问题:
- (IBAction)button:(id)sender {
UIImage *img = [UIImage imageNamed:@"image1.png"];
[first setImage:img];
double delayInSeconds = 1.0; //set delay time
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
i=0;
while (i<some_variable) {
/*blah blah blah*/
if (something) {UIImage *img = [UIImage imageNamed:@"image2.png"];
[first setImage:img];}
if (something else) {UIImage *img = [UIImage imageNamed:@"image3.png"];
[first setImage:img];}
...
/*code code code*/
i++;
}
});
}
-(iAction)按钮:(id)发送者{
UIImage*img=[UIImage ImageName:@“image1.png”];
[第一组图像:img];
double DelayUnseconds=1.0;//设置延迟时间
dispatch_time_t popTime=dispatch_time(dispatch_time_NOW,(int64_t)(DelayUnseconds*NSEC_PER_SEC));
调度\u after(popTime,调度\u get\u main\u queue(),^(void){
i=0;
while(iperformSelector:withDelay):我已经在这里和谷歌上找到了一些关于这个的主题,但我不知道如何使用它。你能把它应用到我的代码中吗?
- (IBAction)button:(id)sender {
UIImage *img = [UIImage imageNamed:@"image1.png"];
[first setImage:img];
double delayInSeconds = 1.0; //set delay time
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
i=0;
while (i<some_variable) {
/*blah blah blah*/
if (something) {UIImage *img = [UIImage imageNamed:@"image2.png"];
[first setImage:img];}
if (something else) {UIImage *img = [UIImage imageNamed:@"image3.png"];
[first setImage:img];}
...
/*code code code*/
i++;
}
});
}