월 48,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
MVC패턴으로 코드짤때 질문입니다.
앨런님, 제가 질문이 좀 많아서 죄송합니다...위에서 보면 이 파일은 view에 포함된다고 하셨는데요 제가 코드로 짤때 view에 포함되는 내용을 구분하는 데 좀 이해가 부족합니다...저는 이렇게 생각을 했거든요 스토리보드에서 만든 내용만 포함 시킨다고 생각을 해서 스토리보드에 들어가는 내용이 대부분 UI를 그리는 거 오토레이아웃까지만 그리는 거라고 생각을 했는데 위의 내용은 그것이 아니라는 생각이 드는데 addTarget을 컨트롤러에 옮기신건 이해가 가거든요 그런데 제가 생각할때 위에 내용도 엄밀히 말하면 addTarget과 비슷한것이 아닌가 이런 생각이 들어서요...도움 부탁드립니다 감사합니다:)
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
Rps와 연관된 MVC 패턴에 관한 질문입니다.
앨런님, 위의 내용에서 보면 swift문에 self라고 되어있는데요 여기서 self가 정확하게 무엇을 의미 하는지 좀 알고 싶습니다. 제 생각에는 enum자체를 뜻한다고 생각이 되는데요 제가 swift문에서 self를 한 것을 잘 보지 못해서 제가 이해하는데 좀 어려움이 있는데요 도움부탁드립니다 감사합니다
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
테이블 뷰 관련 질문있습니다!
안녕하세요 앨런님.테이블 뷰 강의를 참고하여 현재 프로젝트에 적용하고 싶은 뷰가 있습니다. 위와 같은 뷰를 만들고 싶은데, 3가지 섹션으로 만들고섹션 1. 올데이(UIswitch)섹션 2. 스타트와 엔드(DatePicker)섹션 3. 메모(textView)1. 테이블 셀을 재사용한다.테이블 셀의 init을 (소제목: String?, 올데이: UISwitch?, 일정: UIDatePicker?, 메모: UITextView?)로 작성하고 컨텐트뷰에 들어갈 소제목은 필수, 오른쪽에 들어갈 액세서리뷰는 나머지 3개 요소 중 각 섹션에서 필요한 객체만 넣어서 사용2. 셀이 아닌 단순 뷰로 구현한다.뷰 안에 객체들을 넣어서 마치 셀인 것 처럼 디자인하여 사용.2가지 선택지를 모두 구현해봤는데첫번째 방법은 "통일성이 있다"는 장점 그러나 "구현이 힘들고 또 스위치, 데이트, 메모에 저장된 데이터를 한꺼번에 모아서 전달하는 방법을 모르겠다" 는 단점.두번째 방법은 "구현이 쉽고, 한번에 데이터를 전달하기 쉽다"는 장점, 그러나 "코드가 많이 비대해진다"는 단점.위를 종합하여 저의 방향성은 "어짜피 셀도 몇개 재사용하지 않을텐데 그냥 단순히 뷰로 구현하자!" 이렇게 결론났습니다.2가지 중 앨런님이 생각하셨을 때는 어떤 방향으로 가실지 또한 제가 선택한 방향이 맞을지 질문하고 싶습니다. 도와주세요...
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
에뮬레이터에서 키보드가 올라오지 않아요
휴대폰에선 키보드가 올라오는데요 텍스트를 입력할려고 하면요 그런데 에뮬레이터에서 테스트 할때 키보드가 올라오지 않아서 좀 난감하네요 제가 놓친 설정부분이 있을까요? 전 코드는 다 맞게 했거든요 도움 부탁드립니다 감사합니다
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
스토리보드에 관한 질문입니다.
앨런님, 제가 공부초기부터 여쭙고 싶은 건데요. 스토리보드에서 보시면 큰 viewcontroller 두개 말고 작게 나오는 부분 있잖아요 그거 어떻게 하면 지울수 있나요? 제가 검색해서 없애는 법을 알아볼려고 했는데 그 명칭을 몰라서 못하겠더라구요...너무 기본적인 건데 질문을 드립니다 감사합니다.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
safe area와 view차이 질문입니다.
위에서 보여주는 예시가 BMI만드는 예시인데요 stack view의 왼쪽 오른쪽에 제약을 거는 건데요. 제약을 걸때 view와 safe area중 정하는데 여기서 view라 함은 super view를 말하는 건지요? 그렇다면 제가 검색을 해보니까 safe area와 super view는 위 아래는 다르지만 왼쪽과 오른쪽에선 범위 차이가 없던데 맞나요? 그래서 제약을 하실때 safe area를 안하시고 그냥 view로 하셨는지 궁금합니다. 감사합니다.
- 미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
테이블 뷰 셀에서 라운드를 주는 것을 layoutSubview에 넣으면 안되나요?
안녕하세요 코어데이터를 이용해서 메모장 만드는 것 듣다가 궁금해서 질문합니다. 다른게 아니고 backview에 라운드 주는 걸 init() 메서드 안에 말고 layoutSubviews에 넣어도 동작하더라구요 근데 왜 detailView에서 버튼은 init이 아니라 layoutSubview에 넣어야 되나요?? 추가로 layoutSubviews를 자주 호출하면 버벅인다고 하는데? 그래서 init()에 넣는건가요?
- 미해결앨런 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 키워드로 작성했는데요 이걸 삭제하고 그냥 하면 왜 안되나요?