title: What's a good way to iterate backwards through the Characters of a String?
body: <p>What's the most Swiftian way to iterate backwards through the Characters in a String? i.e. like <code>for ch in str</code>, only in reverse?</p>
  
  <p>I think I must be missing something obvious, because the best I could come up with just now was:</p>
  
  <pre><code>    for var index = str.endIndex; 
              index != str.startIndex; 
              index = index.predecessor() {
          let ch = str[index.predecessor()]
          ...
      }
  </code></pre>
  
  <p>I realise "what's the best..." may be classed as subjective; I suppose what I'm really looking for is a terse yet readable way of doing this.</p>
  
  <p>Edit: While reverse() works and is terse, it looks like this might be quite inefficient compared to the above, i.e. it seems like it's not actually iterating backwards, but creating a full reverse copy of the characters in the String. This would be much worse than my original if, say, you were looking for something that was usually a few characters from the end of a 10,000-character String. I'm therefore leaving this question open for a bit to attract other approaches.</p>