let firstLetter = myString.characters.first<br><br><div class="gmail_quote"><div dir="ltr">lør. 18. jun. 2016 kl. 04.38 skrev Brent Royal-Gordon via swift-users &lt;<a href="mailto:swift-users@swift.org">swift-users@swift.org</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; I&#39;ve previously used myString[0...1] to get the first character of a string.<br>
<br>
I&#39;m not sure how, because this has never worked in Swift. Strings use opaque indices which specifically prevent you from doing this, so you have never been able to subscript a string with integers or ranges of integers. It&#39;s done this way because indexing into a Unicode string intrinsically requires walking through the data structure and counting characters one at a time; the lack of integer indices is meant to force you to explicitly write `index(after:)` or `index(_:offsetBy:)` (formerly `successor()` or `advancedBy(_:)`) in your code to make this cost obvious.<br>
<br>
&gt; What documentation is this referring to? There&#39;s no right-click definition available, nothing in Navigator, and Google fails to turn up anything.<br>
<br>
The standard library includes definitions of these subscripts which are meant to direct you to documentation explaining why they&#39;re not supported, but these definitions don&#39;t show up in the generated interfaces. Presumably Xcode is removing all APIs marked &quot;unavailable&quot;. The doc comment it&#39;s trying to direct you to is here &lt;<a href="https://github.com/apple/swift/blob/b8401e1fde52d95e5a8ce7b043a3c5a3bcf72181/stdlib/public/core/UnavailableStringAPIs.swift.gyb#L15" rel="noreferrer" target="_blank">https://github.com/apple/swift/blob/b8401e1fde52d95e5a8ce7b043a3c5a3bcf72181/stdlib/public/core/UnavailableStringAPIs.swift.gyb#L15</a>&gt;:<br>
<br>
  /// Subscripting strings with integers is not available.<br>
  ///<br>
  /// The concept of &quot;the `i`th character in a string&quot; has<br>
  /// different interpretations in different libraries and system<br>
  /// components.  The correct interpretation should be selected<br>
  /// according to the use case and the APIs involved, so `String`<br>
  /// cannot be subscripted with an integer.<br>
  ///<br>
  /// Swift provides several different ways to access the character<br>
  /// data stored inside strings.<br>
  ///<br>
  /// - `String.utf8` is a collection of UTF-8 code units in the<br>
  ///   string. Use this API when converting the string to UTF-8.<br>
  ///   Most POSIX APIs process strings in terms of UTF-8 code units.<br>
  ///<br>
  /// - `String.utf16` is a collection of UTF-16 code units in<br>
  ///   string.  Most Cocoa and Cocoa touch APIs process strings in<br>
  ///   terms of UTF-16 code units.  For example, instances of<br>
  ///   `NSRange` used with `NSAttributedString` and<br>
  ///   `NSRegularExpression` store substring offsets and lengths in<br>
  ///   terms of UTF-16 code units.<br>
  ///<br>
  /// - `String.unicodeScalars` is a collection of Unicode scalars.<br>
  ///   Use this API when you are performing low-level manipulation<br>
  ///   of character data.<br>
  ///<br>
  /// - `String.characters` is a collection of extended grapheme<br>
  ///   clusters, which are an approximation of user-perceived<br>
  ///   characters.<br>
  ///<br>
  /// Note that when processing strings that contain human-readable<br>
  /// text, character-by-character processing should be avoided to<br>
  /// the largest extent possible.  Use high-level locale-sensitive<br>
  /// Unicode algorithms instead, for example,<br>
  /// `String.localizedStandardCompare()`,<br>
  /// `String.localizedLowercaseString`,<br>
  /// `String.localizedStandardRangeOfString()` etc.<br>
<br>
<br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
</blockquote></div>