프로토콜에서 optional 키워드로 된 함수들은 원래 자동완성이 안되는건가요?

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • mi kim
      참가자
      • 글작성 : 10
      • 답글작성 : 8

       

      MyProtocol.swift파일에서,
      protocol MyProtocol {

          func abc()->Int

          optional func def()->Int

      }

      이렇게 작성하고 다른 클래스에서 MyProtocol을 구현하여 사용할 때,

      함수 abc는 func abc까지만 쳐도 바로 자동완성이 뜨는데,

      함수 def는 아무것도 안뜨네요.

      정상인건가요?

       

      혹시 optional은 자동완성이 안되는 이유가 있나요?

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      글쎄요..^^;
      저는 정상적으로 잘 동작하는데, Xcode 버전이 달라서 그럴 수도 있는데요, 혹시나 다른 것도 확인해보셔야 할 것 같아요.

      optional이 붙은 요구사항은 @objc 속성을 적용할 수 있는 타입에만 사용할 수 있습니다.
      즉, 클래스에서만 사용할 수 있습니다. 클래스에 채택한 것이 아니라면 오류도 발생하고 자동완성도 안될거예요.

      Xcode의 버그일 수도 있으니 클린 빌드 혹은 Derived Data를 비우고 Xcode 종료 후 다시 시도해보세요 🙂

    • mi kim
      참가자
      • 글작성 : 10
      • 답글작성 : 8

      어제까지만해도 저렇게 작성했을 때 에러가 안났었는데 오늘 다시 열어보니 빨간줄 에러가 뜨네요..

      지금은 제대로 작동하고 있습니다. 감사합니다!

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom