title: How do you setup a loop with an interval/delay?
body: <p>I'm trying to make a Wack-a-Mole game. The way I am doing so is by having one button randomly appear and disappear around the screen after someone has tapped it. If they do not tap the button within one second after it reappears, then it will disappear and find a new position, then reappear and wait one second and repeat the above steps. However, whenever I run this code, it doesn't do that. It moves positions only if I get rid of the 'while' statement and the 'if else' statement. Why won't it loop, disappear, reappear, etc?</p>
  
  <p>Delay is this: <a href="https://stackoverflow.com/a/24318861/5799228">https://stackoverflow.com/a/24318861/5799228</a></p>
  
  <pre><code>   @IBAction func moveButton(button: UIButton) {
      while self.WaffleButton.hidden == true || false {
          if self.WaffleButton.hidden == false {
              self.WaffleButton.hidden = true
              delay(3) {
                  // Find the button's width and height
                  let buttonWidth = button.frame.width
                  let buttonHeight = button.frame.height
  
                  // Find the width and height of the enclosing view
                  let viewWidth = button.superview!.bounds.width
                  let viewHeight = button.superview!.bounds.height
  
                  // Compute width and height of the area to contain the button's center
                  let xwidth = viewWidth - buttonWidth
                  let yheight = viewHeight - buttonHeight
  
                  // Generate a random x and y offset
                  let xoffset = CGFloat(arc4random_uniform(UInt32(xwidth)))
                  let yoffset = CGFloat(arc4random_uniform(UInt32(yheight)))
  
                  // Offset the button's center by the random offsets.
                  button.center.x = xoffset + buttonWidth / 2
                  button.center.y = yoffset + buttonHeight / 2
                  self.WaffleButton.hidden = false
                  self.delay(1) {
                      self.WaffleButton.hidden = true
                  }
              }
          } else { delay(3) {
              // Find the button's width and height
              let buttonWidth = button.frame.width
              let buttonHeight = button.frame.height
  
              // Find the width and height of the enclosing view
              let viewWidth = button.superview!.bounds.width
              let viewHeight = button.superview!.bounds.height
  
              // Compute width and height of the area to contain the button's center
              let xwidth = viewWidth - buttonWidth
              let yheight = viewHeight - buttonHeight
  
              // Generate a random x and y offset
              let xoffset = CGFloat(arc4random_uniform(UInt32(xwidth)))
              let yoffset = CGFloat(arc4random_uniform(UInt32(yheight)))
  
              // Offset the button's center by the random offsets.
              button.center.x = xoffset + buttonWidth / 2
              button.center.y = yoffset + buttonHeight / 2
              self.WaffleButton.hidden = false
              self.delay(1) {
                  self.WaffleButton.hidden = true
              }
  
  
              }
          }
  
      }
  }
  </code></pre>