Avatar ·

¿Cómo usar String.substringWithRange en Swift? ¿O cómo funcionan Range en Swift?

¡Hola a todos! Soy nuevo en Swift, viniendo desde Objective-C, y tengo un problema al trabajar con strings. En Objective-C, extraía substrings fácilmente con `substringWithRange:`, por ejemplo: ```objc NSString *str = @"¡Hola, mundo!"; NSRange range = NSMakeRange(0, 6); NSString *substr = [str substringWithRange:range]; // "¡Hola," ``` En Swift, intento hacer lo mismo, pero me encuentro con errores. Escribí: ```swift let str = "¡Hola, mundo!" let range = NSMakeRange(0, 6) let substr = str.substringWithRange(range) // ¡Error! ``` Xcode dice que `String` no tiene un método `substringWithRange`. He leído que en Swift se debe usar `Range`, pero no entiendo cómo crearlo. ¿Por qué no se puede simplemente pasar un `NSRange`? Por favor, explíquenme con ejemplos: 1. ¿Cómo extraer correctamente un substring de un string en Swift? 2. ¿Qué son `Range` y `String.Index` y cómo trabajar con ellos? 3. ¿Cómo manejar strings con Unicode (por ejemplo, emojis o cirílico)? Gracias de antemano.