Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 做两个步骤-一个接一个_Objective C_Loops_Sleep - Fatal编程技术网

Objective c 做两个步骤-一个接一个

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"];

我不知道该怎么做:

我有一个ImageView,通过单击我希望在ImageView中显示的按钮:第一个图像,然后等待几秒钟,并执行一些while循环,该循环将查找第二个图像(通过在许多其他图像的while循环中遵循说明),然后显示所选(第二个)图像

我不确定我是否已经非常清楚地描述了我的问题,因此下面是示例代码:

- (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++;
  }
  });
}