묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨iOS Clean Architecture & MVVM: RxSwift 완전 정복
의존성 주입에 관하여 질문있습니다.
let coredata = UserCoreData(viewContext: appDelegate.persistentContainer.viewContext) let network = UserNetwork(manager: NetworkManager(session: UserSession())) let userRP = UserRepository(coreData: coredata, network: network) // Domain Layer let userUC = UserListUsecase(respository: userRP) let userVM = UserListViewModel(usecase: userUC) // Presentation Layer let userVC = UserListViewController(viewModel: userVM)하나의 뷰 컨트롤러를 생성 시 ViewModel, UseCase, Repository, Network, CoreData 등 주입할 요소가 많아지는 것을 느꼈습니다.그렇다면 화면전환을 수행할 때마다 뷰 컨트롤러를 생성하게 되는데 매번 해당 컨트롤러에 의존성을 주입해주어야 하나요?또한 Network, CoreData 등 동일한 객체를 유지하기 위해서 이전화면의 ViewModel 객체를 다음화면의 ViewModel로 넘겨주면 될까요?궁극적으로 실무에서 사용하는 방식을 알고 싶습니다.
-
해결됨Flutter 중급 1편 - 클린 아키텍처
The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]
안녕하세요Flutter로 web 페이지를 만들고 이것을 firebase hosting을 통해 배포하고 있습니다.image file을 firebase storage, google drive에 올려두고 URL을 가지고 image.network를 통해 표출하고 있습니다.그런데 실행할 때마다 아래 오류 메세지와 함께 사진이 정상 표출되지 않습니다.======== Exception caught by image resource service ================================================The following ProgressEvent object was thrown resolving an image codec:[object ProgressEvent]When the exception was thrown, this was the stack:Image provider: NetworkImage(....)Image key: NetworkImage(....) Android app으로 실행시킬 때나 구글링에서 나온 flutter run -d chrome --web-renderer html 커맨드로 실행했을때는 정상 표출되는 것을 확인했습니다. 그런데 Firebase로 hosting 히면 계속 안 보이네요..index.html을 수정하면 되다는 얘기가 있던데.... 어떻게 처리하면 되는지 잘 모르겠습니다.혹시 가이드 요청드려도 될까요? 감사합니다. 제가 사용하고 있는 버전들은 다음과 같습니다.Flutter 3.24.0-1.0.pre.348 • channel master • https://github.com/flutter/flutter.gitFramework • revision 85960d24b9 (3 months ago) • 2024-07-30 09:03:00 +0200Engine • revision c58d87d62cTools • Dart 3.6.0 (build 3.6.0-91.0.dev) • DevTools 2.37.1 firebase_core: ^3.6.0 cloud_firestore: ^5.4.4
-
해결됨앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스
Section21 Nework Part1 / JSON
제공해주신 API 호출하면 500에러 반환합니다. 확인 부탁드립니다.
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
warning 뜸
코드파일의 5번 SerialSyncProject의 WriteSyncronously()를 실행할 경우 SerialSyncProject(9296,0x104550200) malloc: nano zone abandoned due to inability to reserve vm space.현재 이름(write-safe): 재석 유==================WARNING: ThreadSanitizer: data race (pid=9296) Write of size 8 at 0x000108f5f7d0 by thread T8: #0 SerialSyncProject.Person.changeName(firstName: Swift.String, lastName: Swift.String) -> () <null> (SerialSyncProject.debug.dylib:arm64+0xdc98) #1 closure #1 () -> () in SerialSyncProject.WriteSyncPerson.changeName(firstName: Swift.String, lastName: Swift.String) -> () <null> (SerialSyncProject.debug.dylib:arm64+0x105b4) ....기타 경고들....==================현재 이름(write-safe): 구라 김현재 이름(write-safe): 나래 박현재 이름(write-safe): 동엽 신현재 이름(write-safe): 세형 양마지막 이름은?(write-safe): 세형 양이런식으로 경고메세지가 뜨는데 정상인걸까요? - 데이터 레이서 때문에 생기는 현상이어서 그냥 넘겨도 되는건지 궁금합니다!
-
미해결iOS Clean Architecture & MVVM: RxSwift 완전 정복
강의 자료는 어디서 받을수 있나요?
강의에 사용되는 자료와 코드들은 어디서 받을 수 있나요?
-
미해결성공적인 진짜 iOS Design Guide - [Autolayout With Code]
안녕하세요! 강의 자료 관련 질문입니다.
section4 UIKit을 다루는 방법의 코드자료는 제공되지 않는 것인가요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
혹시 다음 강의 대략 언제쯤 완료되시는지 알 수 있을까요??
안녕하세요, 강의 정말 인상깊게 봤습니다!! 다른 글에서 다음 강의로 Combine 관련 내용으로 제작중이라고 하셨는데, 대략 언제쯤 다음 강의 제작이 끝나시는지 궁금하여 이렇게 글을 남깁니다. 강의 나오면 바로 구매할 예정입니다! 감사합니다.
-
해결됨iOS Clean Architecture & MVVM: RxSwift 완전 정복
안녕하세요 페이지네이션 구현 강의 중 질문있습니다.
다름이 아니고 UserListViewController에서 private func bindView() { tableView.rx.prefetchRows .bind { [weak self] indexpath in guard let rows = self?.tableView.numberOfRows(inSection: 0), let itemIndex = indexpath.first?.item else { return } if itemIndex >= rows - 1 { self?.fetchMore.accept(()) } } .disposed(by: disposeBag) }해당 코드 작성한 것을 확인했는데 이 상황에서 itemIndex >= rows - 1가 정상적으로 동작하지 않는다고 생각이 들어서요.정상적으로 동작하는 경우도 있지만 (천천히 스크롤 할 때) 빠르게 스크롤했을때 rows 는 30이라고 할때 itemIndex는 24가 찍혀 self?.fetchMore.accept(())가 실행이 안되더라구요 그렇다면 prefetchRows를 쓰는게 좋은 방법인가에 대한 생각이 들어서 질문 드립니다!
-
미해결앨런 Swift Concurrency for Swift 6 (Part-1)
강의자료 관련 질문
안녕하세요 엘런님 먼저 정말 좋은 강의 제작 해주셔서 감사합니다.현재 컨커런시 part1을 시작하려고 강의 구매 및 강의 자료를 다운받았는데요part2 역시 강의가 오픈되면 구매할 생각입니다.그런데 그 때는 part2 강의자료만 따로 제공되지는 않을까요??설명을 보니 묶어서 교제로 판매하신다고 하시는데 part2 강의 자료만 필요한데교제까지 구매하면 조금 부담이 될 것 같아사요
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
섹션7 뷰 리팩토링 질문있습니다.
ViewBuilder를 활용해서 리팩토링하여 중복되는 코드를 줄이는것에 대해서.. 실제로 현업이나 개발할때 강의처럼 일단 뷰를 전체적으로 다 만들어놓고 중복되어보이는 코드를 리팩토링하면서 common으로 분리하나요 ? 아니면 처음부터 중복되는것처럼 보이면 바로 common으로 분리하면서 하나요? 아무래도 후자이려나요 ?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
(기초-3) 가위바위보 앱 만들기 / 코드 설정하기 - 2 (기초 앱 12강)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 주사위만들기 앱에서 viewDidLoad()를 다음과같이 정의하고 RESET 버튼을 눌렀을 때 viewDidLoad()를 호출해도 되나요? 작동은 하는데 비효율적이고 문제가 되는 부분이 있을 것 같은데 궁금합니다. override func viewDidLoad() { super.viewDidLoad() mainLabel.text = "선택하세요" // 1) 첫번째, 두번째 이미지 뷰에 준비 이미지를 띄워야 함 comImageView.image = imageLiteral(resourceName: "ready") myImageView.image = UIImage(named: "ready.png") // 2) 첫번째, 두번째 레이블에 "준비" 라는 문자열을 띄워야 함 comLabel.text = "준비" myLabel.text = "준비" }
-
해결됨iOS Clean Architecture & MVVM: RxSwift 완전 정복
강의 질문있습니다.
질문강의 중 스냅킷을 사용하여 이미지 뷰의 제약을 설정하셨는데make.leading.top.bottom.equalToSuperview().inset(20) make.width.height.equalTo(80).top과 bottom을 상위 뷰에 걸어 상대적 높이를 설정했으나, 절대적 높이 height도 별도로 걸어주신 이유가 있을까요?
-
미해결Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
ToDo 앱 @Observable 기능(?) 질문입니다
안녕하세요 강사님 좋은 강의 잘 수강하고 있습니다!강의에서 @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나 구조체 내 멤버 프로퍼티 값들이 변경되는 걸 감지하기 위한 래퍼라고 이해했는데 맞게 이해한 걸까요..? 답변 주시면 감사하겠습니다!!좋은 하루 보내세요!
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
다음 강의 내용 관련 문의드립니다.
안녕하세요. 강사님께 문의드릴 곳이 현재 수강중인 강의의 질문게시판밖에 없는 것 같아서 여기에 올립니다! 양해 부탁드려요 ㅜㅜ다름이 아니라, iOS Clean Architecture & MVVM: RxSwift 완전 정복 강의 내용이 Swift 6의 새로운 동시성 모델을 반영한 내용인지 궁금합니다.만약 그렇지 않다면 Swift 5.x 버전의 컴파일러를 기준으로 강의 내용을 따라가면 되는 건가요?답변 미리 감사드립니다.
-
미해결Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
firebase에서 데이터를 불러오는데 오류가 발생합니다.
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)위의 오류가 발생하는데 로그인 정보는 제대로 출력되는데 다른 부분에서 데이터를 불러오지 못하는데 어떤 부분을 수정해보면 좋을까요?
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
bind, signal, drive 사용
안녕하세요. 강의 잘 듣고 있습니다.rxsiwft를 독학 중에 UI와 관련된 driver, signal이 있다는 것도 알게 됬습니다.그런데 강의 중 bind만 사용하시는 이유가 따로 있을까요?또한 실무에서 어떤 방식을 주로 사용하는지 알고 싶습니다.
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
Xcode16 업데이트 후 앱이 죽는 이슈
안녕하세요. 에구마님올려주신 강의를 다 듣고,완성된 코드 기준으로이번에 Xcode16으로 업데이트 한 후로 로그인 후에 앱이 죽는 문제가 발생하는데,이에 대한 해결책이 있을까요?
-
해결됨[Lv.2] SwiftUI 중급 - Core Data와 SwiftData로 앱 완성하기
Apple 공식 문서 보는법
안녕하세요 좋은 강의 잘 듣고 있습니다.다름이 아니라 혹시 애플 공식 문서보는 강사님만의 꿀팁 같은게 있을까요?공식문서를 찾아볼 수 있긴 한데 찾고자 하는걸 정확하게 검색해야 결과를 얻을 수 있고 뭔가 보기가 어렵게 되어 있는 것 같아서요...그리고 제가 원하는 기능을 구현하려면 물론 구글링도 있지만 공식문서를 최대한 참고해서 구현 방법을 익히고 싶은데 이런 것들은 공식 문서에서 어떻게 검색해야 하나요?예를 들어 SwiftUI에서 반복문으로 이루어진 텍스트들을 한번에 지우는 기능을 구현하고 싶은데 이에 연관된 것들을 공식 문서에서 쉽게 찾는 방법 등을 알고 싶습니다.감사합니다.
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
프로필 편집 앱을 끄면 사진이 유지가 되지 않아요.
FeedView만들기 전 단계, 리팩토링하기 전단계까지 모두 동일하게 코드를 작성하고, 틀린부분 있는지 빠트린 부분 있는지 확인을 다했는데요. 프로필 편집 사진과 네임, 유저네임, 소개 모두 다 시뮬레이터 홈버튼 더블클릭 후 밀어내기해서 끄고, cmd + R이나 시뮬레잍터 상의 앱을 클릭해서 키면 모든게 리셋되네요. 그런데 로그아웃 후 재로그인하면 또 사진과 네임, 유저네임, 소개가 제대로 뜹니다. 어디 부분이 문제가 있는걸까요??
-
미해결Flutter 초입문 왕초보편
dispose 오버라이드 메소드 자동완성이 안 됩니다.
dispose 오버라이드 메소드 자동완성이 안 됩니다. 다른 자동완성은 다 제대로 작동하는데 오버라이드 메소드 자동완성이 안되네요 gpt가 하라는대로 해봤는데도 안 됩니다 어떻게 해야 할까요? 저는 현재 플러터 가장 최신 버전을 사용하고 있습니다.