inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Lv.2] SwiftUI 중급 - Core Data와 SwiftData로 앱 완성하기

Sorted, Filter, Map

Sorted, Filter, Map - UserViewModel 부분 오류 발생

124

nonehour

작성한 질문수 1

0

강의 관련된 질문은 언제나 환영입니다 😄

Protocol requires property 'objectWillChange' with type 'Self.ObjectWillChangePublisher' (Combine.ObservableObject.objectWillChange)


Initializer 'init(wrappedValue:)' is not available due to missing import of defining module 'Combine'


이렇게 두개의 오류가 뜨는데. 영상을 봐도 해당 코드와 다른게 없어서 질문드립니다. 혹시 어떤 부분이 문제일까요?

ios swift swiftui iphone-app

답변 1

0

Jacob(제이콥)

안녕하세요. nonehour 님

에러 발생 원인

현재 코드에서 두 가지 주요 문제가 발생하고 있습니다:

  1. ObservableObject 프로토콜 준수 실패: UserViewModel 클래스가 ObservableObject를 채택했지만 필요한 요구사항을 충족하지 못하고 있습니다.

  2. Combine 프레임워크 누락: @Published 프로퍼티 래퍼와 관련된 초기화자를 찾을 수 없다는 에러가 발생합니다.

해결 방법

파일 상단의 import 구문을 다음과 같이 수정해주세요:

import SwiftUI
import Combine  // 이 줄을 추가해주세요

왜 이런 차이가 발생하는가

이런 현상이 발생하는 이유는 개발 환경의 차이 때문입니다:

  • Xcode 버전 차이: 최신 Xcode에서는 SwiftUI를 import할 때 Combine도 함께 자동으로 가져오는 경우가 있지만, 구버전이나 특정 설정에서는 그렇지 않을 수 있습니다.

  • iOS 배포 타겟: 프로젝트의 iOS 최소 지원 버전에 따라 자동 import 동작이 달라질 수 있습니다.

  • 프로젝트 설정: 프로젝트 생성 방식이나 빌드 설정에 따라 모듈 import 방식이 다를 수 있습니다.

근본적인 이해

@PublishedObservableObject는 실제로 Combine 프레임워크의 핵심 구성 요소입니다. 따라서 이들을 사용할 때는 명시적으로 Combine을 import하는 것이 가장 안전하고 명확한 방법입니다.

강의 예제와 달라서 에러가 발생된점 양해 드립니다.

감사합니다.

Jacob

강의를 다 듣고난 후

0

34

2

android crud중 c 영상이 12초만 있는 잘린 영상이에요.

0

50

2

수강 기간 연장 문의

0

54

1

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

0

66

2

Combine Playground 에서 실행 시

0

80

2

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

0

67

1

searchable이 화면 하단에 위치해요

0

82

2

Drawing Cycle 관련 질문

0

87

1

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

0

113

2

델리게이트 패턴 관련 질문

0

85

2

ViewBuilder 강의 관련 질문입니다.

0

91

1

CoreData Array의 변화에 따른 SwiftUI View 변화 적용(with @Observable Macro)

0

227

2

init-deinit의 무한루핑을 벗어나는 방법이 궁금합니다.

1

188

2

Apple 공식 문서 보는법

0

345

2

5월 업데이트 예정이었던 , iOS17 컨텐츠 SwifData 업데이트 언제 되나요 ?

0

261

1

Spacer() 를 넣으니 예제처럼 SafeArea 확보가 안됩니다.

0

508

3

Local Notification 예제 문의

0

326

2

Local Notification 강의 편집오류 있어요

0

245

2

강의중 코드폴딩 단축키 (커맨트+옵션+왼쪽방향키)

0

215

2

코어데이터에 중복값 입력 방지

0

321

1

Combine 관련 질문드립니다.

0

251

1

if let else 질문있습니다.

0

231

1

강의 Weak Self 코드 실행시 오류에 대해

0

663

1

SwiftData가 Core Data를 대체하는지요?

0

2117

1