월 48,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
layoutSubviews와 layoutIfneeded() 메서드 차이
먼저 layoutSubViews는 직접 호출하면 안된다고 했는데요. 그러면 ViewCycleCustomBtn 프로젝트 내의 MyView에서 layoutSubViews가 아니라 layoutIfneede() 나 setNeedsLayout()을 써서 layoutSubViews가 호출되도록 해야 하는 거 아닌가요??헷갈리네요;;;override func layoutSubViews() { ... }
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
테이블뷰(커스텀델리게이트) - 2 (MVVM으로 바꾸기) (업데이트-13강) 질문있습니다.
안녕하세요 앨런님. 질문있습니다!데이터 관리 객체인 MemberListManager를 멤버 리스트를 가지니 싱글톤으로 만들어서 멤버들을 관리하면 편할 것 같다고 생각하는데 혹시 싱글톤으로 만들지 않고 코드를 설계하신 이유를 알 수 있을까요?
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
MVVM 아키텍처 설명 1 (MVC부터 다시 설명) (업데이트-3강) 강의 질문있습니다.
MVVM패턴에 대해 공부하는 중 MVC 패턴에 헷갈리는 부분이 생겨서 질문드립니다.MVC패턴은 코드 수가 많아지면 컨트롤러가 비대해질 수 있어 유지보수가 힘들고 재사용이 힘들어 진다고 알고 있습니다.여기서 제가 궁금한 건 그렇다면 뷰와 컨트롤러의 코드를 따로 분류하여 MVC 패턴을 적용하려 할 때1. 뷰에서 이벤트 처리 함수를 작성해야하는 지2. 아니면 컨트롤러에서 이벤트 처리 함수를 작성해야하는 지어떤 방식을 통해 이벤트를 컨트롤해야 되나요?(물론 뷰에서 다룰 수 없는 부분은 컨트롤러에서 처리해야 하는 건 이해했습니다. 예를 들어 Segue의 Perform, Prepare같은 함수 작성 시)머릿속에서 자꾸 "사용자의 Action은 컨트롤러가 수행해야한다" 이 내용이 맴돌아서 뷰의 프로퍼티에 연결된 함수도 빼줘야하나? 하고 너무 헷갈립니다.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용-10 앱 / 클로저 방식으로 셀에서 일어난 동작의 전달 (활용 앱85강) 질문있습니다.
아래는 ToDoCell과 ViewController의 코드 중 일부입니다.1번째 코드var updateButtonPressed: (ToDoCell) -> Void = { (sender) in } 2번째 코드@IBAction func updateButtonTapped(_ sender: UIButton) { updateButtonPressed(self) }3번째 코드cell.updateButtonPressed = { [weak self] ( sender )in self?.performSegue(withIdentifier: "ToDoCell", sender: indexPath) }updateButtonPressed 함수의 매개변수를 ToDoCell로 설정하고 updateButtonPressed(self)에서 왜 자기자신을 전달하는 지 잘 모르겠습니다. performSegue를 수행하기 위해 전달받은 매개변수 Sender는(3번째 코드에서) 클로저 수행에 영향이 없지 않나요? 실제로 매개변수를 주지 않는 방식으로 코드를 수정하고 앱을 실행해 봤는데 셀의 저장과 수정에는 지장이 없더라구요.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
선생님 혹시 카메라
카메라 필터 관련으로 추가 강의 해주시면 안될까요?필터앱 만들고싶은데 너무어려워요!ㅠㅠ
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
수료증 발급이 안되네요
빈화면만 나와요!이건 인프런측에 문의해야 할까요?
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
코드로 UI를 설계하다가 tableView.frame = bounds 이건 어떻게 이해하면 되나요?
테이블뷰를 코드로 설계하는 중에, 테이블뷰의 위치와 크기를 뷰 전체에 넣을려고 했는데, 오토레이아웃 말고 tableView.frame =view.bounds 이렇게해도 되더라구요 그래서 찾아보니까 frame은 superView를 기준으로 자기 위치 (origin)과 크기 (size)를 나타내느데 여기에 bounds를 대입한다? bounds는 자기를 기준으로 하는 위치와 크기잖아요? 그럼 tableView의 frame에 bounds를 대입한다는 것은 앞으로 tableView의 frame은 bounds와 같이 동작한다? 이렇게 이해하면 되나요? 좀 더 찾아보니까 bounds는 viewPort 같은거라고 하더라구요 화면을 바라보는 창문? 그럼 tableView.frame = view.bounds는 tableView의 frame의 위치와 크기에 view를 바라보는 전체 크기? 위치?를 대입한다? 이게 무슨 뜻인지 알려주세요~
- 해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
LoginProject에서 경고문이 뜹니다.
안녕하세요 좋은 강의 덕분에 공부하고 싶었던 ios에 대해서 잘 알아가고 있습니다 !로그인프로젝트를 만들다가 보니 사진과 같은 경고문이 뜨는데 해석해보니 ViewController.self를 쓰라고 하는거 같더라구요그래서 self대신 ViewController.self로 바꾸면 경고문은 없어지는데 이런 에러가 뜨면서 앱이 꺼집니다. 저 경고문은 그냥 무시하면 되는걸까요?? tf.addTarget(self, action: #selector(textFieldEditingChanged(_:)), for: .editingChanged)그리고 이 줄에서 self는 ViewController를 가르키는게 아니라 텍스트필드를 가르킨다고 생각하는게 맞을까요??
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
1개의 뷰컨트롤러에 여러 개의 view를 사용할 수 있나요?
안녕하세요강의를 듣다가 코드를 짜는 부분에서 공통으로 사용하는 부분이 있어서이를 따로 View로 만들어서 이를 viewController에 적용시키려고 합니다. 이 때 1개의 ViewController에 여러 개의 View를 담을 수 있나요?가능하다면 ViewController에 넣을 때 위치는 frame으로 하면 되나요? 아니면 간략하게라도 1개의 ViewController에 여러 View를 넣을 수 있을지 가이드라도 알려주시면 정말 감사합니다.. 어찌보면 강의와 상관없는 얘기일 수도 있는데.. 부탁드립니다.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
Api관련 질문있습니다!
안녕하세요. 강의를 수강하면서 프로젝트로 앱을 하나 만들어 보려고 합니다.우선 Node를 사용하여 서버를 만들었습니다.카카오 맵이나 구글 api를 요청받아 지도상에 출발지와 목적지 위치를 입력받고 이동경로를 표시하고자 하는데,문제는 api요청을 서버에서 하고 앱으로 전달할 지 아니면 앱에서 직접 api를 요청하여 바로 사용할 지 고민입니다. 후자의 경우 앱이 무거워질 수도 있는 게 아니냐는 백엔드 측의 의견이 나왔습니다.항상 강의 도움을 많이 받고 있습니다. 감사합니다.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
RESTful API 질문있습니다!
안녕하세요 앨런님! 강의 잘 듣고 있습니다! 앨런님 강의 덕분에 IOS개발자로 면접을 보게되었는데 자격요건에 "Restful api 기반 앱 개발 경험이 있으신 분" 이라는 문장이 있는데 현재 제가 배운게 앨런님이 알려주신 섹션 14에 urlsession쪽에 내용만 알고 있습니다! 제가 다음주 수요일 면접에서 restful api에 대한 질문을 받으면 어떻게 대답을 해야지 올바른 답변이 될 수 있을까요? 어디서 부터 손을 대야할지 잘 모르겠어서 이렇게 질문 드리게 되었습니다 읽어주셔서 감사합니다 :) 일단 restful api에 대해서 구글링하면서 공부는 하고 있는데 , 딱히 뭐라고 답변을 드려야할지... 생각이 안나서.. 질문을 작성했씁니다 ㅠ 현재 제가 사용자 프로필을 위해 이미지를 urlsession을 통해 가져오고 있는데 이 코드들을 이용해서 답변을 할 수 있을지도 궁금합니다! var imageCache = [String: UIImage]() extension UIImageView { func loadImage(with urlString: String) { // 이미지가 캐쉬데이터로 존재하는지 확인하고 싶음, cache 키값을 넣어서 이제 벨류로 나오게 하는거임 if let cacheImage = imageCache[urlString] { self.image = cacheImage return } // 저는 // 이미지 위치 guard let url = URL(string: urlString) else { return } // url콘텐츠를 가져오기 , HTTP의 각종 메서드를 이용해 서버로부터 응답 데이터를 받아서 Data 객체를 가져오는 작업을 수행한다 URLSession.shared.dataTask(with: url) { data, response, error in //에러가 뜬 경우 if let error = error { print("이미지를 불러오지 못해서 에러", error.localizedDescription) } // 이미지 데이터를 만든경우 guard let imageData = data else { return } // 가져온 이미지를 통해 이미지 설정 let photoImage = UIImage(data: imageData) // 키 값이랑 이미지 캐시를 설정 , 키값은 이미지의 문자열 , 벨류는 당연히 이미지 사진이됨 imageCache[url.absoluteString] = photoImage // 이미지 설정 DispatchQueue.main.async { self.image = photoImage } }.resume() //일시중단된 작업을 재개해서 중단되면 다시 이미지가 로드될 수 있도록 }}
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
어플 개발관련 질문있습니다.
안녕하세요. ios 시스템에서 가계부어플을 만들어보고 싶어서 수강중입니다. 데이터를 받아서 백엔드에서 처리하고 관리하여 화면에 보여주는 것을 수강하고 싶은데 어떤 강의를 수강해야할지 감이 안와서 이렇게 질문을 남깁니다.그럼 새해 복 많이 받으세요 ^^
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용 앱 64강에서 lazt라는 키워드를 삭제해도되나요?
안녕하세요 Member구조체에서 memberImage를 Lazy 키워드로 작성했는데요 이걸 삭제하고 그냥 하면 왜 안되나요?
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
Swift에 대한 질문입니다.
안녕하세요. iOS 강의 너무 잘 듣고 있습니다. 강의를 듣는중에 궁금한점이 있어 이렇게 질문을 올립니다.해당 강의에서 Swift의 동작방식이라던가, selector등을 배웠다고 말씀하시면서 자세한 설명은 여기서 다뤄지지 않는데 이러한 설명들은 어디에서 들을 수 있는건가요??참고로 저는 인프런에서 iOS 프로그래밍 강의만 구매해서 듣고 있습니다!
- 미해결앨런 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가지 입니다!
- 미해결앨런 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 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용-2 앱 / 코드설정하기 (활용 앱 14강) 델리게이트 부분에 궁금한게 있습니다.
여기서 보면 textField 라는 함수를 생성만 해놓았는데?왜 동작을 하게 되는 거죠?그러니까 함수를 호출해야 동작하는 거 아닌가요?함수를 호출하는 역할을 하게 되는게 textfield를 누르거나 글자나 숫자를 입력하거나 하는 행동이 호출하게 되는 건가요? 유사한 질문이 있었는데.. 이해를 못했어요
- 해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
블로그나 깃허브 업로드 질문
안녕하세요 앱만들기 강의를 열심히 수강 중인 수강생입니다.강의로 가이드 라인을 받으며 공부하니 혼자서는 놓쳤을 부분도 많이 챙길 수 있었습니다, 감사합니다.다름이 아니라 블로그나 깃허브에 업로드 할 수 있는 기준에 대해서 여쭤보려고 질문을 드립니다.저작권에 많이 신경쓰고 계시고, 제공된 자료나 강의 내용은 사용불가하다는 점 알고 있습니다.다만 예전에 제가 어디서 봤는지 기억은 안나지만 코드 자체를 올리는 건 괜찮다고 본 기억이 있는데,이 기억이 맞는지 여쭙고 싶습니다.만약 코드 자체를 올리는건 괜찮다고 하시면, 블로그나 깃허브에 공부 증빙용으로 업로드하려고 합니다.항상 좋은 강의를 제공해주셔서 감사합니다.
- 해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
가위바위보 게임 오류가 발생했습니다
안녕하세요강의를 보며 따라하는 중 사진과 같은 오류가 발생했습니다.구글에 검색하여 해결방법을 찾아보니 command + q 를 누르고 다시 실행하는 방법을 찾았습니다.하지만 이것으로도 해결되지 않았습니다..