묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결성공적인 진짜 iOS Design Guide - [Autolayout With Code]
비율로 레이아웃 설정하기 -1
14:12 부분 설명이 이상해요width = 1.60377 x height (85:53) - 50"여기서 1.6이라하는것은 내가 비율로설정한(85:53)인거고 1.6은 곱하기 height - 50 만큼 빼지는거고 그게 결정지어지는 값은 width다."1.6 이 중복 된게 이상하고설명하신것처럼height 값을 구해보면 85 : 53 = -50 : x(53 * -50) / 85 = -31.1764706이 나옵니다.1.60377 x -31.1764706 = -49.9998883 이고,여서 -50 더하믄 -99.999888 인데요?실제 width 값은 110.67입니다.height를 구하는 식이 85:53 = constant : x 즉, x(height) = (53 * constant) / 85 라는 소리신데 이해가 안가네요 ㅠㅠ
-
해결됨SwiftUI의 Property Wrapper(@State, @Binding...)
안녕하세요 @EnvironmentObject를 RequestInterceptor에서도 사용할 수 있나요?
안녕하세요.이 부분을 듣다가 궁금한게 생겨서 질문드립니다.제 프로젝트에서 Alamofire를 사용 중인데 RequestInterceptor를 활용해서 JWT 관리 로직을 다루려고 하고 있습니다.궁금한 점은 로직 중에 JWT가 만료되거나 사라지면, 로그인/회원가입 뷰로 돌아가게 만들고 싶은데 RequestInterceptor에서 EnvironmentObject를 접근해서 변경할 수 있나요?변경할 수 없다면, 어떤 방식을 사용하면 JWT가 변경됐을 때 뷰를 다시 그릴 수 있을까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용 앱 64강에서 lazt라는 키워드를 삭제해도되나요?
안녕하세요 Member구조체에서 memberImage를 Lazy 키워드로 작성했는데요 이걸 삭제하고 그냥 하면 왜 안되나요?
-
해결됨[Lv.1] 누구나 할 수 있는 - SwiftUI Basic with iOS 17
Preview 질문
안녕하세요!!현재 ImageBasic 파트를 보고 있는데, 현재 제 Xcode에서는 선생님 위에 떠 있는 프리뷰 툴박스(?)와 파란색 가이드라인(frame의 width, height를 표시해주는?)도 보이지 않는데, 이것들을 보이게 설정하려면 어떻게 해야하나요?여기저기 눌러보고 검색도 해봤는데, 찾지 못해서 질문드립니다!
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
Swift에 대한 질문입니다.
안녕하세요. iOS 강의 너무 잘 듣고 있습니다. 강의를 듣는중에 궁금한점이 있어 이렇게 질문을 올립니다.해당 강의에서 Swift의 동작방식이라던가, selector등을 배웠다고 말씀하시면서 자세한 설명은 여기서 다뤄지지 않는데 이러한 설명들은 어디에서 들을 수 있는건가요??참고로 저는 인프런에서 iOS 프로그래밍 강의만 구매해서 듣고 있습니다!
-
해결됨아이폰 앱 개발 입문 1편
Products 폴더와 .app 파일
Products 폴더와 .app 파일이 없습니다... 그리고 Main.storyboard아래 노란색경고로 Frame for "My Dream is to fly" will be different at run time. 이라고 나옵니다.
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
코드베이스 오토레이아웃에 대한 질문입니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 현재 BMI앱을 코드베이스로 만들어보고 있는 수강생입니다!코드베이스로 UI를 만드는 중에 궁금한 점이 생겨 질문드립니다.private let heightLabel: UILabel = { let label = UILabel() label.text = "키" label.textAlignment = .center label.font = .boldSystemFont(ofSize: 15) label.frame.size.width = 40 return label }()horizontal 스택뷰내부에 TextField와 함께 넣어둔 레이블입니다. 위에 보시는 것처럼 label.frame.size.width = 40을 통해 저는 레이블의 너비를 정해주었습니다. 하지만 빌드한 결과는 다음 사진과 같았습니다.그리고 계속 삽질하며 테스트해본 결과 NSLayoutConstraint.activate([ heightLabel.widthAnchor.constraint(equalToConstant: 40) ])이렇게 오토레이아웃을 통해서만 조절해줄 수 있었습니다.제 질문을 정리해보자면,코드베이스UI에서 프로퍼티의 클로저 내부에서 원래 크기조절을 할 수 없는 것인지 그리고 원래 NSLayoutConstraint내부에서 사이즈를 조절하는게 정석적인 것인지 궁금합니다.사진에 보시는 것처럼 키의 텍스트필드만 줄어들고 몸무게의 텍스트필드는 정상적인데 양쪽의 프로퍼티 모두 동일하게 설정해주었는데 왜 이러는걸까요? 이렇게 2가지 입니다!
-
미해결최신 SwiftUI와 UIKit과 함께하는 올인원 iOS 앱 개발 강의
카페앱 포폴 만들기 강의에서 오류가 발생합니다
Cocoa pods 를 활용한 이미지 뷰 처리 강의와 카페앱 포폴 만들기 강의에서 Toast-Swift 를 설치해서 사용하려고 하면 아래와 같은 에러가 발생합니다File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a 에러가 납니다. Version 14.3.1 (14E300c)minumum deploymnets 16.4입니다 어떻게 하면 정상적으로 실행할 수 있나요?
-
해결됨[Lv.1] 누구나 할 수 있는 - SwiftUI Basic with iOS 17
LazyGrid 질문 있습니다.
안녕하세요 Netflix나 인스타 말고 Printerest와 같이 그리드 Item의 높이를 서로 다르게 하려면 어떻게 해야 하나요?ScrollView(.vertical) 안에 LazyVGrid로 넣고 높이가 다른 아이템을 넣도록 뷰를 그렸는데 두열의 높이가 다르면 한쪽에 여백이 들어가게 되더라구요..Printerest 화면처럼 양 옆에 놓은 아이템의 높이가 다를경우 여백없이 배치하고 싶습니다.감사합니다!!
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
updateConstrants 부분에서 질문이 있습니다!
override func updateConstraints() { print(#function) myButton.widthAnchor.constraint(equalTo: self.widthAnchor, multiplier: 0.5).isActive = true myButton.heightAnchor.constraint(equalTo: self.heightAnchor, multiplier: 0.5).isActive = true myButton.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true myButton.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true super.updateConstraints() } 지금 ViewCycleCustomBtn 프로젝트 설명해주실 때 궁금증이 생겨서 질문드립니다. 일단 제가 이해한 바로는 런루프가 돌면서 드로잉사이클을 1초에 최대60회까지 다시 사이클을 도는걸로 이해했습니다. 만약 1초에 필요에 의해 20번이 불렸다고 가정했을 때,그럼 updateConstraints라는 함수도 20번이 불릴거 같은데요. 그럼 제약이 중복돼서 (20 * 제약조건 4개) 80개가 활성화 되는 느낌이 아닌가요?저 메서드 내부에서 제약 초기화를 해주는건가요?제가 이해를 잘못한걸까요? 만약 초기화가 된다고 해도, 저 메서드 내부에서 저렇게 설정 해버리면 결국 20번이 불릴 텐데 init 내부에서 제약조건을 한번만 설정 하는게 낫지 않나요? (불필요한 작업 이라고 생각이 들어서요)
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
동적 디스패치에 관한 질문있습니다!
로그인 기능 강의중에, 뷰컨트롤러에 final을 붙이면 동적디스패치를 줄일 수 있다고 말씀해주셨는데용동적디스패치를 공부하다 보니까 궁금한 점이 있어서 질문드려요! 뷰컨트롤러가 더이상 상속되지 않았으면.Whole Module Optimization 기능으로 자동으로 뷰컨트롤러의 final 추론이 되지 않나요?
-
미해결iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해
안녕하세요, GCD 관련 질문드립니다..
안녕하세요, 앨런, Qos 부분을 수강하면서수업 자료에 있던 코드들을 이렇게 바꾸어서 실행해보았는데요...첫줄은 sync 라서 시작/완료까지 실행하고 task2, task4(비동기라서 완료까지 안 찍고 넘어가고), 그리고 task3 시작/완료 라고 이해를 했습니다. 제가 예상한 결과였고, 그렇게 출력이 되었어요. 근데 동일한 코드를 반복적으로 실행하면 그때마다 다른 결과가 나오는데.. 왜 그런지 모르겠어서 질문 남깁니다.. ㅠㅠ 어쩔때는 4가 먼저 실행되고어쩔때는 3이 먼저 실행되더라구요..왜 그렇게 순서가 바뀌는지가 가장 궁금하고..qos를 통해서 우선순위를 설정한다는 의미가 언제 어떻게 우선순위대로 실행되도록 한다는 것인지 이해를 못 한 것 같습니다...위 코드에서 userInteractiveQueue 가 defaultQueue.async(qos: .userInitiated)보다 우선순위가 높은 것이 실행을 먼저 하는 것은 아닌것 같은데.. 우선순위라는게 어떻게 반영이 되는것인지 감이 안 잡힙니다 ㅠㅠ 아니면 제가 쓸데없는 코드를 보면서 고민한건지.. 답변부탁드려요!!
-
미해결[Lv.1] 누구나 할 수 있는 - SwiftUI Basic with iOS 17
Textfield 입력시 한글 자음 모음 분리 현상이 발생 합니다
최근 Xcode 업데이트 이후 textfield에 한글 입력시 자음 모음이 분리 되서 입력이 됩니다 .ㄱ ㅏ ㄴ ㅏ ㅊ ㅗ ㅣ 이런식으로 입력이 됩니다😭영어는 잘됩니다.해결 방법이 있을까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용-2 앱 / 코드설정하기 (활용 앱 14강) 델리게이트 부분에 궁금한게 있습니다.
여기서 보면 textField 라는 함수를 생성만 해놓았는데?왜 동작을 하게 되는 거죠?그러니까 함수를 호출해야 동작하는 거 아닌가요?함수를 호출하는 역할을 하게 되는게 textfield를 누르거나 글자나 숫자를 입력하거나 하는 행동이 호출하게 되는 건가요? 유사한 질문이 있었는데.. 이해를 못했어요
-
미해결[Lv.2] 레벨업 - SwiftUI intermediate with Core Data
강의 Weak Self 코드 실행시 오류에 대해
강의에 대한 프로그램 실행을 하면 아래와 같은 에러가나고 화면상에 숫자는 "1"로 고정이 되네요. 강의 원본 소스도 같은 에러를 내보냅니다.Xcode는 15.0.1아이폰 모델은 15 Pro입니다 콘솔 로그초기화 시작Snapshotting a view (0x10b42e7e0, _UIButtonBarStackView) that is not in a visible window requires afterScreenUpdates:YES.초기화 시작초기화 해제Snapshotting a view (0x10597b1c0, _UIButtonBarStackView) that is not in a visible window requires afterScreenUpdates:YES.초기화 시작초기화 해제 소스//// WeakSelfInter.swift// SwiftUiIntermediate//// Created by KISOO LEE on 10/7/23.// import SwiftUI // MARK: - ViewModelclass WeakSelfInterViewModel: ObservableObject { @Published var data: String? = nil init() { print("초기화 시작") let currentCount = UserDefaults.standard.integer(forKey: "count") UserDefaults.standard.set(currentCount+1, forKey: "count") getData() } deinit { print("초기화 해제") let currentCount = UserDefaults.standard.integer(forKey: "count") UserDefaults.standard.set(currentCount-1, forKey: "count") } func getData() { DispatchQueue.main.asyncAfter(deadline: .now() + 10) { DispatchQueue.main.async { self.data = "NEW DATA !" } } } } // MARK: - Screen 1struct WeakSelfInter: View { @AppStorage ("count") var count: Int? init() { count = 0 } var body: some View { NavigationView { NavigationLink("2번째 페이지로 이동"){ WeakSelfInter2() } .navigationTitle("1번째 페이지") //: NavigationLink } //: NavigationView .overlay( Text("\(count ?? 0)") .font(.largeTitle) .padding() .background(Color.green.cornerRadius(10)) .padding() , alignment: .topTrailing ) }} // MARK: - Screen 2struct WeakSelfInter2: View { @StateObject var vm: WeakSelfInterViewModel = .init() var body: some View { VStack (spacing: 10 ) { Text("2번째 페이지") .font(.largeTitle) .foregroundColor(.red) } //: VStack if let data = vm.data { // data에 String 값이 있는 경우 Text(data) } }} #Preview { WeakSelfInter()}
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
가위바위보 게임 오류가 발생했습니다
안녕하세요강의를 보며 따라하는 중 사진과 같은 오류가 발생했습니다.구글에 검색하여 해결방법을 찾아보니 command + q 를 누르고 다시 실행하는 방법을 찾았습니다.하지만 이것으로도 해결되지 않았습니다..
-
해결됨[Lv.1] 누구나 할 수 있는 - SwiftUI Basic with iOS 17
Sheet가 바로 닫히는 문제와 홈 화면 액션 관련 문의
안녕하세요, SwiftUI 강의를 듣고 몇가지 응용해서 연습을 하고 있습니다아래 코드 상에서 sheet를 보이게 설정하자 마자 TestChildView와 sheet화면이 닫히는 문제가 발생하고 있어요 (처음 실행시키면 문제가 없는데 몇번 뒤로 왔다갔다 하면 문제가 계속 재현됩니다 🥲최소 개발환경은 iOS 15.0, target device 17.0으로 했습니다)혹시 제가 놓친게 있을까요? 추가로 TestView화면으로 넘어간 상태에서 아이폰 홈화면으로 아래서 위로 쓸어올리는 액션을 하면, 탭 화면으로 뒤로 가지는데 혹시 그부분도 어떻게 방어할수 있는지 궁금합니다! 답변 주시면 감사하겠습니다 🙏아래와 같이 NavigationView안에 TabView를 정의했습니다(이렇게 한이유는 TestView에서 다른 화면으로 넘어갈때 하단 탭바가 안보이면 좋겠어서 NavigationView를 바깥으로 뺐습니다) TestView에서 TestChildView화면으로 넘어가고, "Open Sheet' 버튼을 클릭하여 sheet를 화면에 띄워보고자 합니다. import SwiftUI struct TestHomeView: View { var body: some View { NavigationView { TabView { TestView() .tabItem { Image(systemName: "house.fill") Text("Tab 1 View") } .tabViewStyle(DefaultTabViewStyle()) Text("View 2") .tabItem { Image(systemName: "chart.line.uptrend.xyaxis") Text("Tab 2 View") } Text("View 3") .tabItem { Image(systemName: "bell") Text("Tab 3 View") } } }.navigationViewStyle(.stack) } } struct TestView: View { var body: some View { VStack { Text("Tab 1 View") NavigationLink { TestChildView() } label: { Text("Test view") } } } } struct TestChildView: View { @State private var isShow = false var body: some View { Text("Tab1 Child View") Button { isShow = true } label: { Text("Open Sheet").font(.largeTitle) }.sheet(isPresented: $isShow, content: { Text("test") }) } }
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
BMI segue 이슈
안녕하세요 강사님,BMI segue 문제로 글남깁니다.강사님이 강의에서 알려주신 "그대로" 따라했는데, 테스트를 위해 iphone app을 켤때마다 계속override func prepare(for segue: UIStoryboardSegue, sender: Any?) { print(#function) if segue.identifier == "toSecondVC" { let secondVC = segue.destination as! SecondViewController secondVC.modalPresentationStyle = .fullScreen let bmi = bmiManager.getBMI(height: heightTextField.text!, weight: weightTextField.text!) secondVC.bmi = bmi } heightTextField.text = "" weightTextField.text = "" }이부분중, let secondVC = segue.destination as! SecondViewController 에서 문제가 발생하며, iphone app 테스트가 중단이 됩니다.이문제를 스스로 해결하기 위해 그동안 강사님이 알려주신 내용들을 저장해둔 notion 웹사이트의 노트 및 google, developer.apple.com웹사이트까지 다 검색을 했는데... 도저히 방법을 못찾겠어서요.. 참고로, 전 Xcode 10.1 버전을 사용중입니다. 어떻게 해결해야 할까요?너무 답답한 마음에 글올립니다. 긴 글 읽어주셔서 감사합니다. Best regards,Minji Kim
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
강의자료 pdf 파일
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의자료 pdf 파일은 없는건가요?? 압축폴더에 swift파일만 있네요. Firstnewapp 만들기 사이즈같은거 보고만들라고 하셨는데 그런 파일이 없어요
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
혹시 추가예정인 강의가 대략 언제쯤 나오는지 알수있을까요..?
재차 여쭤봐서 죄송합니다..!