inflearn logo
강의

Course

Instructor

Part 1: Learning iOS for Real Beginners (SwiftUI, SwiftData, 2024)

Swift 6 업데이트 이후 Todo 예제 실행 오류

Resolved

188

o2k

3 asked

1

Todo.swift에서 'Cannot expand accessors on variable declared with 'let'; this is an error in the Swift 6 language mode' 오류가 발생합니다!

ios swift swiftui swift5.5

Answer 2

0

nightdaycoding

o2k님 안녕하세요
Swift6에서는 @Model같은 매크로로 변수에 접근할때는 모두 var로 선언해야 한다고 하네요
해당부분을 let -> var로 변경해주시면 됩니다!

0

o2k

해당 Todo 프로젝트에서 let -> var로 변경해도 정상 실행이 안되는데 혹시 업데이트 이후 변경이 있어서 그런걸까요?

0

nightdaycoding

음 저도 macOS랑 Xcode 전부 최신버전 이거든요
이상하네요.
에러나는 코드 부분 캡처해서 올려주시겠어요? 다시 한번 봐보겠습니다

0

o2k

스크린샷 2024-12-09 오전 10.37.50.png.webp

따로 에러는 뜨지 않는데 기존 수업 내용대로라면 ContentView의 Preview에서
친구 만나기, 과제 제출하기, 푹쉬기가 todoList 배열?에 나와야하지 않나요?
(해당 파일은 수업 자료(2 완성코드(이전 섹션 Todo앱에 SwiftData 적용한 코드))입니다!)

0

nightdaycoding

이부분은 제가 좀더 코드를 짜놨어야했는데, 아쉬운 부분입니다. ㅜㅜ

https://www.inflearn.com/community/questions/1456021/todo-%EC%95%B1%EC%97%90%EC%84%9C-%EB%AF%B8%EB%A6%AC-%EC%A0%81%EC%96%B4%EB%86%A8%EB%8D%98-%EC%9A%94%EC%86%8C%EB%93%A4%EC%9D%80-%EC%99%9C-%EC%95%88%EB%82%98%EC%98%A4%EB%82%98%EC%9A%94

 

이 링크에 제가 자세히 설명해두어서, 참고해주시기 바랍니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. o2k님.

Swift 6에서 발생하는 “‘Cannot expand accessors on variable declared with ‘let’; this is an error in the Swift 6 language mode”라는 오류는 ‘let’ 키워드를 사용할 때 변수에 프로퍼티 접근자를 추가하려는 시도와 관련된 문제입니다. ‘let’으로 선언된 변수는 상수로 취급되기 때문에 가변성이 없으며, 접근자를 확장할 수 없습니다. 이 문제는 Swift의 최신 버전에서 언어 규칙이 더욱 엄격해졌기 때문에 발생합니다.

해결 방안

  1. ‘var’로 변경하기: 해당 변수가 필요에 따라 변할 가능성이 있다면 ‘let’ 대신 ‘var’로 선언하시면 됩니다. 이 변경은 변수의 불변성을 해제하고, 필요한 접근자를 설정할 수 있게 합니다.
   var myVariable: String {
       // accessor code
   }
  1. 계산 속성 사용: 만약 변수 자체는 변경되지 않지만 접근자를 필요로 한다면, 계산 속성을 사용하여 내부에서 변경하도록 코드를 작성할 수 있습니다.

  2. Swift 설정 확인: 프로젝트의 Swift 컴파일러 설정에서 “Swift Language Version”을 확인하고, Swift 6의 새로운 동작을 이해하고 적용할 수 있도록 코드베이스를 업데이트하세요.

추가적으로 iOS 개발 관련 유사한 질문과 해결책을 공유한 게시물도 참고하시면 도움이 될 수 있습니다:

문제가 지속된다면, 발생된 코드와 함께 추가적인 환경 설정이나 사용 버전 정보를 공유해 주시면 보다 구체적인 도움을 드릴 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

확인 버튼 만들 때 폰트 색상 화이트 주는 위치 문의드려요.

1

65

2

Button(action: label:)이 강의와 달라요!

1

61

2

HStack과 VStack에서 alignment와 spacing 방향이 이해가 잘 안갑니다.

1

69

2

modifiers 창이 안보여요.

1

97

2

showAlert 변수 mvi 패턴에서의 사용법

1

54

2

swift vs swiftUI

1

64

1

끝말잇기 로직 구현 중 ios 16 (iphone 16) 시뮬레이터 영어 입력 불가

1

81

1

@Binding된 객체는 자동으로 저장이 되나요?

1

96

2

섹션5. Class로 Todo 데이터 관리하기 부분에서 질문 있습니다.

1

83

2

JSON_Decodable.playground에서 print문이 안찍히는 문제

0

120

2

List를 넣으니 위치가 제대로 조정이 되던데 그럼 Spacer는 따로 넣을 필요가 없는걸까요?

1

105

1

콘솔창에 값이 안찍히고 있습니다.

1

142

2

todo 앱에서 미리 적어놨던 요소들은 왜 안나오나요?

1

131

2

ToDo 앱 @Observable 기능(?) 질문입니다

0

209

2

Todo 앱 @Observable 질문입니다

2

191

2

VStack, HStack으로 뷰 구성하기 강의 padding 질문입니다

1

222

1

@State 특성(?) 질문입니다

1

161

2

6-7) 이미지 사이즈 지정 위치 질문드립니다.

1

170

1

강의 자료를 모아보는 프로그램을 제작해보려고 합니다!

0

180

1

NavigationLink 질문

1

149

1

서적 추천 부탁드립니다!

2

192

1

질문합니다. 섹션 4 - 10 [투두 삭제기능 구현하기(onDelete)]

1

217

2

섹션4-4 'NavigationStack' 오류가 납니다

1

228

1

강의를 들으면서 앱을 만들어보고 있습니다

1

262

3