inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

ProfileView에서 toolbar이용시 문제점 발생, 로직이 이해가 되지 않습니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

var body: some View { NavigationStack { ScrollView { } } .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } //:TOOLBAR 위와 같이 ProfileView에서 body를 정의하셨는데, NavigationStack에 toolbar가 항상 나타나는 것으로 이해가 됩니다. 그렇다면, 앱을 실행하고 바로 Profile tab을 누른다면, .toolbar가 자동으로 생성되면서 dismiss()가 작동하지 않는 toolbar가 생기는 상황이 발생했습니다. 다시 FeedView로 돌아가면 기존 toolbar는 없어지지 않은채로 "<- : arrow.backward" 가 나타나고, FeedView에서 .overlay { } 로 정의된 NavigationLink 를 클릭한다면 toolbar 가 두개 생기는 것을 확인할 수 있었습니다. 두 개중 위의 버튼은 작동하지 않으며, 아래의 버튼을 누르면 dismiss()가 작동하여 Stack에 쌓인 ProfileView가 없어지면서 FeedView로 돌아가는 것을 확인할 수 있었습니다. 상황에 따라 toolbar 가 보일 수 있도록 따로 설정을 해야하는 것일까요? 다시 말해, ProfileView를 Profile을 tab하여 이동하는 경우는 .toolbar가 나타나지 않도록 해야하는 걸까요?

  • ios
  • firebase
  • swiftui
  • mvvm
ycc3819 댓글 1 좋아요 0 조회수 184

혹시 RxSwift 강의 계획도 있으신지 궁금합니다.

해결됨

SwiftUI의 Property Wrapper(@State, @Binding...)

안녕하세요? 혹시 RxSwift 강의도 향후 계획에 있으신지 궁금합니다.

  • ios
  • swift
  • swiftui
차가운잎사귀 댓글 1 좋아요 1 조회수 124

62강 Follow, Unfollow기능구현에서,,

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

7:15까지 코드 따라하고, 구동하는데;; 아래와 같이 에러가 뜹니다... Thread 3: Simultaneous accesses to 0x600003d332b0, but modification requires exclusive access 구동조차 안되고 바로 아래와 같이 떠버려요;; 이건 어떻게 해결할가요???

  • ios
  • firebase
  • swiftui
  • mvvm
ksw 댓글 2 좋아요 0 조회수 127

애구마선생님, 다음 프로젝트 강의는 언제 올려주세요???

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

선생님의 새로운 강의 듣고싶습니다,, 이렇게, 자세한 강의는 처음입니다.. 명확하고 정확하고, 기초, 중급자는 물론이고 1인개발에 관심있는 저에게는 거의 바이블입니다... 다른 강의도 듣고싶어요,,, 너무 기대됩니다..

  • ios
  • firebase
  • swiftui
  • mvvm
ksw 댓글 2 좋아요 0 조회수 127

51강 10:22에서 이미지 여러장이 나오지 않아요;;

미해결

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

이런상황입니다 ㅠㅠ // // FeedView.swift // SUNGWON // // Created by SW KIM on 2/6/25. // import SwiftUI struct FeedView: View { @State var viewModel = FeedViewModel() var body: some View { // Text("FeedView") ScrollView { VStack{ HStack{ Image("instagramLogo2") .resizable() .scaledToFit() .frame(width: 110) Spacer() Image(systemName: "heart") .imageScale(.large) Image(systemName: "paperplane") .imageScale(.large) } .padding(.horizontal) ForEach(viewModel.posts) { post in let _ = print("post:", post) } Spacer() } } } } #Preview { FeedView() }

  • ios
  • firebase
  • swiftui
  • mvvm
ksw 댓글 2 좋아요 0 조회수 129

52강 post데이터가 불러와지지 않아요,,,

미해결

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

52강 11:06에서 #Preview{ FeedCellview(post: Post(id: 등등의 내용을 써야하는데;; Post정보가 나오지 않아 막혔어요;; 아래와 같이 뜨는데요;;; 무엇이 잘못된걸까요;; WARNING: All log messages before absl::InitializeLog() is called are written to STDERR I0000 00:00:1738937824.318841 984217 config.cc:230] gRPC experiments enabled: call_status_override_on_cancellation, http2_stats_fix, monitoring_experiment, pick_first_new, trace_record_callops, work_serializer_clears_time_cache nw_endpoint_flow_failed_with_error [C1 2404:f340:10:1801::200a.443 failed parent-flow (unsatisfied (No network route))] already failing, returning nw_connection_get_connected_socket_block_invoke [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection TCP Conn 0x6000033015e0 Failed : error 0:50 [50] I0000 00:00:1738937824.540463 984238 subchannel.cc:806] subchannel 0x103f0dca0 {address=ipv6:%5B2404:f340:10:1801::200a%5D:443, args={grpc.client_channel_factory=0x60000002b7d0, grpc.default_authority= firestore.googleapis.com , grpc.http2_scheme=https, grpc.internal.channel _credentials=0x600002638de0, grpc.internal.client_channel_call_destination=0x1066f45e8, grpc.internal.event_engine=0x60000000dcd0, grpc.internal.security _connector=0x600002c38080, grpc.internal.subchannel_pool=0x6000029332c0, grpc.keepalive_time_ms=30000, grpc.primary_user_agent=grpc-c++/1.65.1, grpc.resource_quota=0x600000c9b2d0, grpc.server_uri=dns:/// firestore.googleapis.com }}: connect failed (UNKNOWN:(domain:NSPOSIXErrorDomain, code:50, description:The operation couldn’t be completed. Network is down) {file:"/var/folders/hn/5bx1f4_d4ds5vhwhkxc7vdcr0000gn/T/ZipRelease/2024-07-25T04-01-28/project-ios/Pods/gRPC-Core/src/core/lib/transport/error_ utils.cc ", file_line:150, created_time:"2025-02-07T23:17:04.540048+09:00", grpc_status:2}), backing off for 965 ms currentUser: Optional(SUNGWON.User(id: "XCwZST2c1fNVwhu9ex77JnK7ThS2", email: "test1@naver.com", username: "222222", name: "111111", bio: nil, profileImageUrl: nil)) Optional(["username": 222222, "id": XCwZST2c1fNVwhu9ex77JnK7ThS2, "email": test1@naver.com, "name": 111111]) DEBUG: Failed to load user posts with errorThe data couldn’t be read because it is missing.

  • ios
  • firebase
  • swiftui
  • mvvm
ksw 댓글 2 좋아요 0 조회수 168

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

해결됨

Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)

안녕하세요 선생님. wordRelay 강의 잘 수강하였습니다. 강의를 다 수강한 뒤에 복습하고자 수업 진행했던 코드를 처음부터 다시 따라 치던 와중에 끝말잇기 게임 타이틀과 단어 입력창, 확인 버튼 밑에 Spacer를 따로 넣지 않고 List만 넣어도 위치가 원하는대로 위로 올라가는데, 그럼 Spacer는 따로 넣어주지 않아도 되는건가요? Spacer를 넣는 것과는 어떤 차이가 있나요? import SwiftUI struct ContentView: View { let title: String = "끝말잇기 게임" @State var nextWord = "" @State var words: [String] = ["Apple", "Elsa", "Alin"] @State var showAlert: Bool = false var body: some View { VStack { Text(title) .padding(.horizontal, 12) .padding(.vertical, 16) .font(.title) .bold() .background( RoundedRectangle(cornerRadius: 15) .fill(.purple) .opacity(0.3) .shadow(radius: 5) ) .padding(.top, 10) } HStack { TextField("단어를 입력하세요", text: $nextWord) .padding() .background( RoundedRectangle(cornerRadius: 10) .stroke(lineWidth: 2) ) Button(action: { if words.last?.last?.lowercased() == nextWord.first?.lowercased() { words.append(nextWord) nextWord = "" } else { showAlert = true nextWord = "" } }, label: { Text("확인") .foregroundStyle(Color.white) .padding() .background( RoundedRectangle(cornerRadius: 10) ) }) .alert("끝말이 이어지는 단어를 입력하세요", isPresented: $showAlert) { Button("확인", role: .cancel) { showAlert = false } } } .padding(.horizontal) .padding(.top) List { ForEach(words.reversed(), id: \.self) { word in Text(word) .font(.title) } } .listStyle(.plain) // 선생님은 여기에 Spacer()를 넣으셨는데 // 입력하지 않아도 타이틀과 단어 입력창의 위치가 // 위로 올라갑니다 } } #Preview { ContentView() }

  • ios
  • swift
  • swiftui
  • swift5.5
Minari 댓글 1 좋아요 1 조회수 127

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

미해결

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

지난번과 동일하게 자꾸, @Observation 을 활용하려다보니 문제가 많이 생기는 것 같습니다. 정확하게 차이를 이해하려고 강의를 돌려봐도 제가 이해하고 있는 바와 다른 점들이 있는 것 같아 질문 드립니다. 강의의 내용은 CoreData 를 다룰 때, fetch 로 불러온 것을 View 로 넘기기위한 변수 var savedEntities: [Fish] 를 만들고, :ObservableObject protocol 을 활용하셨습니다. 이후 View 에서 ViewModel 을 처음 초기화할 때 사용하기 위해서 @Stateobject 를 활용하여 설명을 하셨고요. 그렇다면, Observable Macro 로 Migrating 하기 진행하는데에도 문제가 없다고 생각을 했습니다. 그래서, 아래와 같이 코드를 바꾸어 보았습니다. 그런데 문제는 Viewmodel 에서 정의된 updateFish() method 가 적용되지 않습니다. List 에서 주어진 생선 이름을 tap 했을 경우, "~" 가 추가가 되어야 하는데, func updateFish(fish: Fish){ let currentName = fish.name ?? "" let newName = currentName + "~" fish.name = newName saveData() print("Updating fish name to: \(newName)") } 와 같이 print 를 찍어보았을 때, 디버그 창에서는 print 가 되지만, View 에서는 "~"가 추가되지 않는 모습을 확인할 수 있었습니다. CoreData 의 변화를 감지하지 못하는건지.. 기초강의에서 FruitModel 예시에서는 ObservableObject 대신 Observable Macro 를 적용해도 되었었거든요. 여기서도 fruitArray 이라는 배열을 사용했는데 잘 적용되었습니다. @Observable Macro 를 적용하는데에 있어서 제가 잘못 이해하고 있는 부분이 있을까요? var fruitArray: [FruitModel] 는 View에서 변화를 감지하여 실시간 Update가 가능한 반면 var savedEntities: [Fish] 는 왜 변경되어도 View에서 변화를 감지 하지 못하는지 궁금합니다. 감사합니다.

  • ios
  • swift
  • swiftui
  • iphone-app
ycc3819 댓글 2 좋아요 0 조회수 237

Xcode version 문제

미해결

[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기

강의 관련된 질문은 언제나 환영입니다 😄 코드 관련 상세하게 작성해주시면 더 좋아요! (상세코드를 붙여넣기 해주세요) 마크다운을 사용해서 편리하게 글을 작성하세요 먼저 유사한 질문이 있었는지 먼저 검색 해보는 습관~ 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 안녕하세요. 제이콥강사님 이제 막 시작하는 새내기입니다. 제가 설치한 Xcode 버전이 16버전인데, 혹시 이 버전으로 해도 문제가 없을까요?? 답변 부탁드립니다.

  • ios
  • swift
  • swiftui
miso lim 댓글 2 좋아요 0 조회수 225

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

미해결

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

ObservableObject를 활용하는 것보다, 새로운 Observable Macro를 활용하여 Migrating을 시도하려 했습니다. 주어진 WeakSelfInterViewModel 에 대해 @Observable을 적용하고, var data String? = nil 로 property를 만들었습니다. 하지만 Init과 Deinit이 반복되어 나타나는 무한루핑이 발생하였습니다. class WeakSelfInterViewModel{ var data: String? = nil ... } struct WeakSelfInter2: View { @State var vm: WeakSelfInterViewModel = WeakSelfInterViewModel() ... } 어떻게 해결할 수 있을까요?

  • ios
  • swift
  • swiftui
  • iphone-app
ycc3819 댓글 2 좋아요 1 조회수 203

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

해결됨

Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)

안녕하세요. 선생님 좋은 강의 너무 잘 듣고 있습니다. wordRelay 실습 중인데, 하단 콘솔에 Executable 이나 Preview 영역에 값이 안찍히고 있어서요. 입력하신단어는: aaaa 요런 값들을 확인할 수가 없네요. 에러도 안보이고요, 혹시 어떻게 해야 다시 뜨게 만들 수 있을까요?ㅜㅜ 여기저기 뒤져봤는데 방법을 못찾았습니다.

  • ios
  • swift
  • swiftui
  • swift5.5
bhjun 댓글 2 좋아요 1 조회수 164

ViewModel과 Model 구분 (30강)

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

안녕하세요. 강의 정말 잘 듣고 있습니다! 30강에서 회원정보 class 를 SignUpViewModel로 만드셨는데 MVVM 아키텍처에서 ViewModel은 비즈니스 로직을 처리하는 부분이고 데이터를 다루는 class나 struct의 경우에는 Model 파트가 맡는다고 이해를 하고 있었습니다. struct가 아닌 class의 경우에는 비즈니스 로직으로 봐야 하는건가요?

  • ios
  • swiftui
  • mvvm
kut7728 댓글 2 좋아요 1 조회수 154

바인딩하는 이유

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

ProfileEditingView에서 뷰모델을 ProfileView에서 바인딩 받아서 사용하는데, 왜 바인딩을 받는 것일까요? ProfileEditingView에서 @State var viewModel = ProfileViewModel()로 새로 선언하지 않는 이유가 있을까요?

  • ios
  • firebase
  • swiftui
  • mvvm
최지한 댓글 2 좋아요 1 조회수 123

75강 까지 마무리후 소스 오류 사항 문의

미해결

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

75강 마무리 후 다른 사용자의 프로필 들어가서 팔로우 하면 위에 팔로잉수가 실시간으로 변경되야 하는데 안되네요. 확인 부탁드립니다. 강의 자료용 소스도 동일하게 작동 안합니다. Xcode16 / iOS18.2

  • ios
  • firebase
  • swiftui
  • mvvm
랑프_Langpeu 댓글 1 좋아요 0 조회수 127

SwiftUI main actor 관한 경고 계속 뜹니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

참고로 제공해주신 소스도 동일하게 뜹니다. Objects stored in @StateObject properties must be isolated to the main actor. This warning will become a runtime crash in a future version of SwiftUI.

  • ios
  • firebase
  • swiftui
  • mvvm
랑프_Langpeu 댓글 2 좋아요 1 조회수 268

45강의 에서 Kingfisher 사용후 발생하는 swift6 이슈

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

ProfileEditingView 에서 PhotosPicker 안에서 KFImage 사용하니 에러가 발생 합니다. Kingfisher v8.1.3 PhotosPicker 밖에서 사용시 에는 문제 없습니다.

  • ios
  • firebase
  • swiftui
  • mvvm
랑프_Langpeu 댓글 2 좋아요 1 조회수 184

19강에서 Encoder()를 사용할 수 없습니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

커뮤니티 보면서 FirebaseFirestoreSwift 가 FirebaseFirestore와 통합되었다는 댓글을 보고 Add Package할 때 FirebaseFirestore만 했었습니다. 문제는 Firestore. Encoder (). encode (post)할 때 Type 'Firestore' has no member 'Encoder' 오류가 발생합니다. 제 추측에는 FirebaseFirestore로 통합되면서 FirebaseFirestoreSwift를 import 할 수 없게 됐는데, 여기서 발생하는 문제 같습니다. 올려주신 강의 코드 보니까 import FirebaseFirestoreSwift를 주석 처리하면 같은 에러가 나타나더라고요. 이것은 어떻게 해결해야 할까요?

  • ios
  • firebase
  • swiftui
  • mvvm
최지한 댓글 2 좋아요 1 조회수 159

40. 강에서 정상작동 안합니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

40 번 강의에 따라 iOS 18.2 Xcode 16.2 아래 처럼 작성하고 실행 했는데 class ProfileViewModel { var user: User? var name: String var username: String var bio: String init() { let tempUser = AuthManger.shared.currentUser self.user = tempUser self.name = tempUser?.name ?? "" self.username = tempUser?.username ?? "" self.bio = tempUser?.bio ?? "" } 프로필 name,bio,username 이 노출이 안됩니다. ProfileViewModel 의 init() 함수에 로그를 찍어 봤는데 2번 호출이 되고 있습니다. nil 로 한번 후에 auth 값 들어온후에 한번 실행되는데 이미 ProfileView 가 로드가 되어 있어서 업데이트가 안되는듯 합니다. -- 확인 부탁드립니다. -- 강의소스로 테스트시에도 동일 증상 이었습니다 (9-4ViewModel로 데이터 관리 - 소스로 테스트) init 에 로그 찍어 봤는데 2번 호출됩니다. 이게 원인인거 같은데요. 첫 초기화에선 Auth값이 nil 이었습니다.

  • ios
  • firebase
  • swiftui
  • mvvm
랑프_Langpeu 댓글 3 좋아요 0 조회수 186

@Environment 질문 있습니다.

해결됨

SwiftUI의 Property Wrapper(@State, @Binding...)

Environment 값 가져올때 역슬래시 하고 점으로 접금 하고 있는데 역슬래시는 어떤 의미를 갖고 있나요?

  • ios
  • swift
  • swiftui
Julie 댓글 1 좋아요 1 조회수 91

동영상 플레이 에러

미해결

iOS 개발 찍먹하기 - SwiftUI

안녕하세요? '개발할 때 도움이 되는 맥앱 추천' 강의부터 'Sign in to confirm you're not a bot' 메세지와 함께 플레이가 안됩니다. 확인 부탁드립니다.

  • ios
  • swift
  • swiftui
espressohn 댓글 1 좋아요 0 조회수 134

인기 태그

인프런 TOP Writers

주간 인기글