title: How can I create an array of functions?
body: <p>I'm trying to build out a basic implementation of Promises in Swift, and I need to be able to add functions to an array, but I'm not sure how to get that to work.</p>
  
  <pre><code>class Promise {
      var pending = []
  
      func resolve() -&gt; Void {
      }
  
      func then(success: (Void -&gt; Void)) -&gt; Promise {
          // how do I add success to pending array?
          return self
      }
  }
  
  let p = Promise()
  p.then({println("finished")})
  </code></pre>
  
  <p>What I'm finding is that the Swift Playground won't suggest <code>append</code> when I try to do something like this:</p>
  
  <p><code>self.pending.append(success)</code></p>
  
  <p>Which makes sense - Swift can't infer the type of <code>self.pending</code> - but that's where my problem lies. I'm not sure how to predefine an array of <code>(Void -&gt; Void)</code> functions.</p>
  
  <p>Is it possible to create an array of functions in Swift? I would assume so, with functions being first-class citizens.</p>