IOS

[Swift] 문자열 인덱스 접근하기 ('subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index instead.)

퐁스팡스 2024. 5. 27. 12:35

Swift에서 문자열 접근하기??

let str = "Hello World!"
print(str[4])

이렇게 접근하면 아래의 에러를 출력하며 안된다.

'subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index instead.

('subscript(_:)'를 사용할 수 없습니다. 문자열을 Int로 구독할 수 없으며 대신 String.Index를 사용하십시오.)

 

int로 접근할 수 없으니 string.Index를 사용하라는 조언 해준다. 정말 답답하지만 다른 방법을 써야 한다.

 

String.startIndex , String.index 활용하기

let str = "Hello World!"
let stringIndex = str.index(str.startIndex, offsetBy: 6)
print(str[stringIndex]) // 출력 값 W

보통 String.index 함수를 많이 사용하는데 두 가지 인자를 넣어줘야 한다.

시작할 string.indexdistance만큼 떨어진 곳의 string.index를 구할 것인지

그래서 첫 번째 인자에 String.startIndex 넣는 게 일반적인 거 같다.