Avatar ·

¿Cómo obtener la longitud de una string en Swift? (count no funciona como en otros lenguajes)

¡Hola a todos! Acabo de empezar a aprender Swift después de Python y me encontré con una situación confusa. En Python, solía escribir `len("hello")` y obtenía 5. En Swift, intenté hacer esto: ```swift let text = "Привет, мир!" print(text.length) ``` Pero Xcode mostró un error: "Value of type 'String' has no member 'length'". Entonces recordé que en algunos lenguajes se usa la propiedad `length`, pero en Swift esto no funciona. Luego busqué en Google y descubrí que se debe usar la propiedad `count`: ```swift print(text.count) ``` Pero aquí noté un comportamiento extraño. Si la string contiene emojis o caracteres con acentos (por ejemplo, "café" o "😊"), `count` muestra algo que no espero. Por ejemplo: ```swift let emoji = "👨‍👩‍👧‍👦" print(emoji.count) // Muestra 1 ``` Y yo esperaba que fuera 4 (papá, mamá, niña, niño). O con una bandera: ```swift let flag = "🇷🇺" print(flag.count) // También 1 ``` ¿Por qué sucede esto? ¿Cómo obtener correctamente la cantidad de caracteres en una string para que se tengan en cuenta todos?