안녕하세요 오늘도 수업 잘 듣고 갑니다. 질문이 있습니다. 2.1 프로그래밍 개념소개, 14:06 29번줄 부분에 Array 데이터 타입 선언할 때 let ints = [1,2,3,4] 라고 작성하셨는데, int 랑 ints의 차이가 뭐죠? 왜 여기서는 ints를 사용해야하는 건가요? 14:08 부분에 강사님께서 "보면 ints 라는 Array 데이터 타입으로..." 라고 언급하셔서 조금 더 헷갈리는 부분이 있습니다.
안녕하세요! 강의 너무 잘 듣고 있습니다. todo앱 프로젝트 후반부 swiftdata 적용 실습때 시뮬레이터를 돌려보는데 분명 코드에서는 todoList변수에 Todo 객체 3개를 넣어놓았는데 실행할때는 리스트에 안뜨더라구요. 왜 기존에 넣어놨던 todo들은 리스트에 안뜨는건지 너무 궁금합니다!
안녕하세요. 강의 유익하게 들었습니다! 지금 마지막까지 강의를 다 듣고 코드 작성도 완료한 상태인데, 현재는 ProfileEditingView에서 정보 수정 후, 피드에 수정된 유저의 정보가 바로 반영되지 않는 상태입니다. 저는 프로필 수정 후 피드에 수정된 유저 정보가 바로 반영 되도록 추가적으로 작업을 하려고 하는데, 가장 최선의 방법이 무엇일지 궁금합니다. 현재로선 FeedCellView에 .onAppear를 걸어서 내부에 유저 정보를 한 번 더 가져오는 식으로 작성하거나, 아니면 새로고침을 했을 때만 가져오는 방법을 생각했는데, 이렇게 하면 모든 게시물에서 유저 정보를 업데이트 해야해서 그만큼 딜레이가 많이 발생하는 문제점이 있어 또 다른 나은 방법이 있을지, 이게 최선인지 알고싶습니다! 감사합니다.
안녕하세요, 강의 잘 듣고 있습니다! 12강까지는 다른 유저의 게시물이 잘 보이고, 피드 상단 선택 시 프로필까지 잘 넘어갔었는데, 13강을 끝까지 듣고 코드 작성 후 빌드를 했더니 아래 화면처럼 유저의 데이터가 불러와지지 않고, 프로필로 이동도 안되며 어떤 동작도 하지 않습니다 ㅜㅜ FeedCellView에서 계속 ProfileViewModel(user: user) 을 생성하는 부분에서 문제가 되는 것 같은데,, 어떻게 해결해야 할 지 모르겠습니다. 아래 오류 이미지도 첨부하겠습니다. 감사합니다
ViewBuilder를 활용해서 리팩토링하여 중복되는 코드를 줄이는것에 대해서.. 실제로 현업이나 개발할때 강의처럼 일단 뷰를 전체적으로 다 만들어놓고 중복되어보이는 코드를 리팩토링하면서 common으로 분리하나요 ? 아니면 처음부터 중복되는것처럼 보이면 바로 common으로 분리하면서 하나요? 아무래도 후자이려나요 ?
안녕하세요 강사님 좋은 강의 잘 수강하고 있습니다! 강의에서 @Observable 사용시 큰 설명 없이 넘어가셔서 개인적으로 알아보는 중입니다 [SwiftUI] Observable macro를 통해 모델 데이터를 만들고 관리하는 방법 (tistory.com) [SwiftUI] iOS17 이후의 상태 관리 (velog.io) [SwiftUI] @Observable 매크로 (1) (tistory.com) Discover Observation in SwiftUI (feat. WWDC 2023) :: iOYES (tistory.com) 등 위의 링크들을 살펴보았지만 초보자인 제가 이해하기엔 어려운 내용들이었습니다 그래서 강사님 강의 중 SwiftUI의 Property Wrapper(@State, @Binding...) 를 구입해봤지만 아쉽게도 @Observable이 아닌 구 버전의 프로퍼티 래퍼인 @ObservableObject를 설명해주시더라구요(이 부분은 아쉬웠지만 나머지 래퍼들을 공부하는 데에는 정말 좋은 강의라고 생각합니다!) 일단 강의의 흐름을 보면 @State와 묶어서 설명하시길래 @State는 변수의 변화를 감지하기 위한 래퍼이고 @Observable은 class나 구조체 내 멤버 프로퍼티 값들이 변경되는 걸 감지하기 위한 래퍼라고 이해했는데 맞게 이해한 걸까요..? 답변 주시면 감사하겠습니다!! 좋은 하루 보내세요!
grpc.resource_quota=0x600000cab5a0, grpc.server_uri=dns:/// firestore.googleapis.com }}: connect failed (UNKNOWN:(domain:NSPOSIXErrorDomain, code:50, description:The operation couldn’t be completed. Network is down) 위의 오류가 발생하는데 로그인 정보는 제대로 출력되는데 다른 부분에서 데이터를 불러오지 못하는데 어떤 부분을 수정해보면 좋을까요?
안녕하세요 좋은 강의 잘 듣고 있습니다. 다름이 아니라 혹시 애플 공식 문서보는 강사님만의 꿀팁 같은게 있을까요? 공식문서를 찾아볼 수 있긴 한데 찾고자 하는걸 정확하게 검색해야 결과를 얻을 수 있고 뭔가 보기가 어렵게 되어 있는 것 같아서요... 그리고 제가 원하는 기능을 구현하려면 물론 구글링도 있지만 공식문서를 최대한 참고해서 구현 방법을 익히고 싶은데 이런 것들은 공식 문서에서 어떻게 검색해야 하나요? 예를 들어 SwiftUI에서 반복문으로 이루어진 텍스트들을 한번에 지우는 기능을 구현하고 싶은데 이에 연관된 것들을 공식 문서에서 쉽게 찾는 방법 등을 알고 싶습니다. 감사합니다.
FeedView만들기 전 단계, 리팩토링하기 전단계까지 모두 동일하게 코드를 작성하고, 틀린부분 있는지 빠트린 부분 있는지 확인을 다했는데요. 프로필 편집 사진과 네임, 유저네임, 소개 모두 다 시뮬레이터 홈버튼 더블클릭 후 밀어내기해서 끄고, cmd + R이나 시뮬레잍터 상의 앱을 클릭해서 키면 모든게 리셋되네요. 그런데 로그아웃 후 재로그인하면 또 사진과 네임, 유저네임, 소개가 제대로 뜹니다. 어디 부분이 문제가 있는걸까요??
안녕하세요 @Observable 이 부분에서 에러가 발생해서 질문드립니다 현재 맥북 버전은 Sequoia 15.0이며 Xcode 버전은 16.0을 사용 중입니다 Observable()' is only available in iOS 17.0 or newer라는 에러가 발생한 상황입니다 구글링을 해도 해결방법을 찾지 못해서 질문드립니다..! 그리고 추가적으로 Xcode 16으로 업뎃 후 프리뷰 화면 보여주는 단축키인 cmd+option+enter를 아무리 눌러도 프리뷰가 xcode에서 보이지 않는 상황입니다.. 마지막으로 제가 질문드렸던 다른 게시글인데 확인 한 번 부탁드리겠습니다 VStack, HStack으로 뷰 구성하기 강의 padding 질... - 인프런 | 커뮤니티 질문&답변 (inflearn.com) 답변 주시면 감사하겠습니다!
2024년 9월 20일경 업데이트 있어서 했더니 이상하게 새 프로젝트부터는 네비게이션창의 파일들이 드래그 엔 드롭이 안됩니다.ㅠㅠ 파일이 폴더를 오고가긴해도 기존버전처럼 파일 순서를 의지대로 변경 못하고, 알파벳 순으로 고정되네요. 찾아서 자동정렬 같은걸 비활성화 하는걸 해보려고해도 찾질 못해서 질문드려요.
안녕하세요. 먼저, macOS를 Sequoia로 업데이트 하면서 Xcode도 15에서 16으로 업데이트 했습니다. 강의 6분 50초 정도부터 navigationTitle 관련된 코드 작성을 해주시는데 이전 OS나 Xcode15에서는 강의 내용대로 작성하면 제대로 되었던게 업데이트를 하고나니 안되더라구요. 찾아보니 Xcode 16에서는 내비게이션 타이틀과 툴바의 상호작용이 일부 변경되었다고 합니다. 하단에 .navigationBarTitleDisplayMode(.inline) 을 추가하니 강의 내용과 동일하게 나타났습니다. 코드는 아래에 첨부하겠습니다. .navigationTitle("프로필 편집") .navigationBarTitleDisplayMode(.inline) .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } 게시판 내용과 어긋나거나 잘못된 정보면 말씀해 주세요. 감사합니다.
안녕하세요 강의 수강 중 이해가 안되는 부분이 있어서 질문 드립니다 import SwiftUI struct ContentView: View { var body: some View { VStack{ HStack{ Image("dogProfile") .resizable() .frame(width: 120, height: 120) .clipShape(Circle()) .overlay( Circle() .stroke(Color.teal, lineWidth: 3) ) VStack(alignment: .leading){ Text("이름: 키도") Text("시바견") Text("2017년 5월생") } // VStack 안에 있는 뷰에 모디파어어를 일괄 적용하고 싶을 경우 이런 식으로 구성할 수 있다(일괄 적용이라는 표현보단 Vstack 자체에 모디파이어를 적용했다는 표현이 더 옳을지도? .font(.system(size: 20)) // 정보 글의 폰트 사이즈 .padding(.leading, 20) // 그림과 정보 글 사이의 공백 } .padding(.bottom, 20) VStack(alignment: .leading, spacing: 10){ Text("좋아하는 것") .font(.system(size: 20)) .bold() Divider() // 좋아하는 것 밑에 있는 선을 그려주는 함수 Text("- 각종 고기(🐮 = 🐷 = 🐔 > 🐟)") Text("- 장본 게 담겨 있는 종량제 봉투") Text("- 집에 새로 온 사람") } .padding() .background( RoundedRectangle(cornerRadius: 15) .fill(.mint) .opacity(0.2) // 색의 투명도를 지정하는 모디파이어 0이면 완전 투명 .shadow(radius: 5) ) VStack(alignment: .leading, spacing: 10){ Text("스킬") .font(.system(size: 20)) .bold() Divider() // 좋아하는 것 밑에 있는 선을 그려주는 함수 HStack(alignment: .top, spacing: 30){ VStack(alignment: .leading, spacing: 10){ Text("- 앉아") Text("- 엎드려(앉아와 자주 혼동함)") Text("- 하우스(집으로 들어가기)") } VStack(alignment: .leading, spacing: 10){ Text("- 손") Text("- 코") } } } .padding() .background( RoundedRectangle(cornerRadius: 15) .fill(.pink) .opacity(0.2) // 색의 투명도를 지정하는 모디파이어 0이면 완전 투명 .shadow(radius: 5) ) } .padding() // 질문인 부분 } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } } 위 코드 맨 마지막 padding을 보면 가장 처음 사용하는 VStack에 .padding을 적용하는 코드입니다 궁금한 건 저 padding의 값을 50, 100 이렇게 설정해도 Vstack의 위 아래 여백은 변하지 않는다는 점입니다. 분명 .padding에 값을 넣어주지 않으면 기본적으로 상하좌우 모든 부분에 여백을 주는 걸로 알고 있는데 만 상하 부분의 여백이 변하지 않는 것을 확인했습니다. 개인적으로 여백을 넓게 잡으면 여백을 잡기 위해 글자나 사진 사이즈 등이 뭉개지는 현상이 발생할 줄 알았는데 좌우는 뭉개지는 데 상하는 뭉개지지 않더라구요 Vstack이 기본적으로 가지고 있는 공간이 있는 최소한의 건지... 혹시 뭉개지지 않는 이유를 알 수 있을까요?? 그리고 혹시 // VStack 안에 있는 뷰에 모디파어어를 일괄 적용하고 싶을 경우 이런 식으로 구성할 수 있다(일괄 적용이라는 표현보단 Vstack 자체에 모디파이어를 적용했다는 표현이 더 옳을지도? 이 주석 제가 맞게 이해한 건지도 알려주시면 정말 감사하겠습니다..! 좋은 하루 보내세요! 감사합니다!