안녕하세요, 강사님! 학습 내용과는 조금 다른 질문이라 조심스럽지만, 진로에 대한 고민이 커서 여쭤보고 싶습니다. 저는 보안학과에 재학 중이고, iOS 개발자로 취업하는 것을 목표로 하고 있습니다. 다만 최근 개발 시장이 전반적으로 어려워졌다는 이야기를 많이 접하고 있습니다. 특히 iOS 분야는 신입 채용이 매우 적고, 국내뿐 아니라 해외에서도 경력자들의 이직이 예전보다 쉽지 않다는 의견을 자주 보게 되었습니다. 또한 "지금 다시 시작한다면 iOS보다 백엔드로 커리어를 시작했을 것 같다"거나, "2026년 기준으로는 네이티브 앱 개발을 추천하지 않는다"는 현업 개발자들의 의견도 적지 않게 봤습니다. 물론 인터넷 의견이 전부 정답은 아니라는 것도 알고 있지만, 진로를 결정해야 하는 입장이다 보니 이런 이야기들을 접할 때마다 많이 흔들리게 됩니다. 그래서 강사님께 여쭤보고 싶습니다. 현재 시장 상황을 고려했을 때도 iOS 개발자를 목표로 준비하는 것이 충분히 의미 있는 선택이라고 생각하시는지, 혹은 지금 개발을 시작하는 입장이라면 미래를 위해 백엔드와 같은 다른 분야도 함께 고려해 보는 것이 좋다고 생각하시는지 강사님의 의견을 듣고 싶습니다. 강사님의 경험을 바탕으로 현실적인 조언을 해주시면 정말 감사하겠습니다.
코드는 그대로인데 강사님의 화면과 조금 다르게 생겨서 질문 드립니다. 디자인이 달리보이는건 어떤 원인일까요? 이 모양 그대로 앱이 나오는거라면, 기본제공 라이브러리 뷰의 디자인을 균일하게 리셋을 시키는 방법이 있을까요? 화면에서 이모지가 네모박스안에 물음표로 나오고있는데 이것도 혹시 원인 알 수 있을까요?
강의 내용중에 아래 2가지가 가능하다고 했는데 1번 TextField("이메일을 입력해주세요", text: $store.email.sending(\.inputEmail)) 2번 TextField("이메일을 입력해주세요", text: Binding(get: { store.email }, set: { email in store.send(.inputEmail(email)) })) 2번 코드로 작성후 이메일주소를 수정후 저장 하니깐 아래와 같은 에러가 발생했습니다. A "forEach" at "AppStore/MyPageReducer.swift:96" received an action for a missing element. Action: MyPageStackReducer.Action.email(.inputEmail) This is generally considered an application logic error, and can happen for a few reasons: A parent reducer removed an element with this ID before this reducer ran. This reducer must run before any other reducer removes an element, which ensures that element reducers can handle their actions while their state is still available. An in-flight effect emitted this action when state contained no element at this ID. While it may be perfectly reasonable to ignore this action, consider canceling the associated effect before an element is removed, especially if it is a long-living effect. This action was sent to the store while its state contained no element at this ID. To fix this make sure that actions for this reducer can only be sent from a store when its state contains an element at this id. In SwiftUI applications, use "NavigationStack.init(path:)" with a binding to a store. 확인해 보니 pop시 Binding의 set 이 호출되서 이미 path에 없는 element를 호출하게 되서 해당 에러가 발생한다고 합니다. 그럼 TCA 환경에서는 1번을 꼭 사용해야 하는 건지요 ?
강의 내용처럼 EditNameReducer 에서 ReducerOf<Self> 를 사용하면 아래처럼 에러가 발생합니다. @Reducer 매크로 타입은 빌드시점이 되야 EditNameReducer 가 Reducer 타입인걸 알기 때문에 사용 못한다고 하는데 강의는 에러 없이 되서 xcode26.2 에서 왜 안되는지 알고 싶습니다. 결국 아래처럼 변경해서 사용 했습니다. var body: some Reducer <State, Action> { Reduce { state, action in return .none } }
강의에 보면 확인버튼의 폰트 색상을 화이트로 줄 때 .background() 부분의 상단 또는 하단 측에 스타일을 줘도 된다고 하셨는데요. 하단 측에 .foregroundStyle(Color.white)를 주게 되면 확인 글자가 나타나지 않더라구요. 상단에만 줘야하는 것 아닌지 여쭤 봅니다.
안녕하세요 성공적으로 완강 했습니다. 진짜 왕초보 iOS 배우기 부터 듣기 시작해서 이번이 두번째 강의를 완료하였고, 직접 앱을 만드니 자신감도 생겨서, 추가적인 학습도 해보려고, property wrapper, combine도 구매완료하였는데.. 잠시 의문이 생겨서 질문드려 봅니다. 지금까지는 강의를 들으면서 뷰간의 순서와 설계에 대해 고민 없이 강의듣고 따라 해왔는데, 직접 뭔가를 구상하고 설계를 하려고 하니 다시 뭔가 벽에 부딪히는 느낌이 드네요. 혹시 설계를 하기위해 구상하거나 문서를 가볍게라도 작성해서 고민을 해보고 싶습니다. 좋은 방법이나 참고할만한 예제가 있을지 문의 드립니다. 강의 중간 설명해 주시려고 만드신 문서도 있으시던데..그런 자료도 공유가 가능하신지요?
스킬 창 아래 부분은 HStack에 VStack(앉아, 엎드려, 하우스)과 VStack(손, 코) 두개의 VStack 구조로 되어 있잖아요. 여기서 alignment와 spacing 방향이 너무 혼동됩니다. 처음에 간단한 구조는 이해하는 것 같았거든요. 살짝 구조가 복잡해지니까 혼동됩니다. 우선 제가 이해하고 있는 부분은 아래와 같습니다. HStack은 수평 구조이기 때문에 alignment는 top, center, bottom이고 spacing은 수평 간격이 조정되고 VStack은 수직 구조이기 때문에 alignment는 leading, center, tailing이고 spacing은 수직 간격이 조정 되는 것이 맞을까요? 혹시 맞다면 이 정도만 이해하고 있으면 될까요? 이 부분의 대한 설명 좀 부탁드려도 될까요?
안녕하세요 이번 실전 네트워크 통신 강의를 들으며 ViewModel을 만들 때 1번 방법이 아닌 2번 방법으로 만들 수 있다는 사실을 알게되었습니다. 앞쪽 강의에서 기존 1번 방식에서는 변수 생성 시 @Published 를 붙여야했지만, 2번 방식처럼 @Observable 을 사용하면 @Published 를 붙이지 않아도 된다고 하셔서 결국 위의 두 코드는 같은 기능을 한다고 이해를 했습니다. 그런데 이번 강의에서 아래와 같이 @Published 를 사용하여서, 이 부분이 이해가 잘 가지 않습니다 혼자 고민해본 결과로는, - count 변수: 단순히 값을 읽고 쓰는 용도 - textFieldID: 퍼블리셔(특정 시간/조건에 따라 값을 방출하는..?)로 사용 위의 용도 차이이다. 그렇다면 기존 방식에서 @Published 를 모두 붙여야했던 이유는 무엇인지..? 라는 질문이 또 생기는 것 같습니다. 답변 주시면 감사하겠습니다!!