inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Closure 실전 세번째 설명 질문입니다.

406

김태훈

작성한 질문수 1

0

강의을 수강하면서 아래의 함수를 사용하려고 하는데 if name.contains 구문에서

아래와 같은 오류가 발생됩니다.

error.png

let names = ["apple", "air", "brown", "red", "orange", "blue", "candy"]

func someFind(find: String) -> [String] {
    var newNames = [String]()
    
    for name in names {
        if name.contains(find) {
            newNames.append(name)
        }
    }
    return newNames
}

Cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')

강의에서는 잘 되는데,  제가 선언해서 저 함수를 쓰려고할때 발생되는 에러 메세지인데..

String에서는 Charater Type밖에 찾을 수 없다고 합니다. 왜 강사님 코드는 되고 저는 안되는것인가요..?

문자열 배열에서 검색한번 해보려고 하는데 오류가 발생되는데... 왜 이런 오류가 발생되는것인가요. ㅠㅠ

 

swift ios xcode 기초 기본 playground

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

강의에서 사용하는 Swift 버전과 작성하신 코드에서 사용하는 버전이 다를 경우에 발생할 수 있는 문제입니다. 오류 메시지를 보면, 인자로 전달하는 String 타입 변수의 요소(Character)가 아닌, 전체 문자열(String)이 전달된다는 것을 의미합니다.

따라서, contains() 메서드를 사용할 때는 문자열의 각 요소를 비교해야 합니다. 아래와 같이 코드를 수정하면 원하는 결과를 얻을 수 있을 것입니다.

func someFind(find: String) -> [String] {
    var newNames = [String]()
    
    for name in names {
        if name.contains(find) {
            newNames.append(name)
        }
    }
    return newNames
}

let names = ["apple", "air", "brown", "red", "orange", "blue", "candy"]
print(someFind(find: "a")) // ["apple", "air", "orange", "candy"]

이와 같이 변경하시면 제대로 된 결과가 출력될 것입니다. 참고하시기 바랍니다. 감사합니다.

수강 기간 연장 문의

0

30

1

수강연장부탁드려도될까요..

0

43

2

Combine Playground 에서 실행 시

0

61

2

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

45

1

searchable이 화면 하단에 위치해요

0

62

2

Drawing Cycle 관련 질문

0

72

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

97

2

델리게이트 패턴 관련 질문

0

68

2

ios 애드몹 광고

0

137

2

수강 기간 연장 부탁드릴 수 있을까요?

0

65

1

활용 앱 57강 질문입니다.

0

55

1

그래프 그리기 위한 API가 프리미엄 요금제를 구독해야만 가능하다고 합니다...ㅜㅜ

0

78

2

과거 ai없을때 듣고 다시 듣는 중인데

1

55

1

활용 앱 30강 에러 질문입니다

0

64

2

예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생

0

56

1

TextField 에 Binding 으로 연결하면 에러 발생

0

56

1

xcode 26.2 에서 ReducerOf<Self> 이슈

0

79

2

20강 Task 내부에서 nonisolated async 호출 예제 질문드립니다

0

79

2

19강 Actor 의 동작 관련해 질문드립니다

0

84

2

기초앱 17강 Contraints 설정 질문입니다.

0

67

2

소리가 ㅠㅠ

0

55

2

실로폰 음원 재생 오류 해결 (do.1.wav)

1

73

2

Emulate Device Frame 관련 질문입니다.

0

91

2

Actor에서 Task vs Task.detached 사용 시 재진입 문제 질문

0

105

2