
앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스
₩297,000
입문 / Swift, iOS, Git
150+ 시간의 최신 커리큘럼! Swift 기초 문법부터 고급 실전 프로젝트까지, 모든 것을 하나의 강의로 완벽하게 마스터하세요!
입문
Swift, iOS, Git
iOS, Swift에 대한 책을 쓰고 강의를 하고 있는 iOS 개발자입니다 :)
앱 개발 교육사이트인 KxCoding을 운영하면서 iOS 개발자를 꿈꾸는 다양한 분들과 공부하고 있습니다
2019.4 - Hello, Swift (iBooks)
2017.9 - iOS 앱 개발자를 위한 Swift 4
2016.10 - iOS 앱 개발자를 위한 Swift 3
2014.12 - Objective-C 개발자를 위한 Swift
Fast Campus 나만의 iOS 앱 개발 캠프
Fast Campus Swift 4를 활용한 iOS 앱 개발 캠프
Fast Campus Dev Seminar: 좋았을걸
한화생명 iOS 앱 개발 기초 과정
KxCoding 부트 캠프
질문&답변
Playground 실행중 오류
보여주신 에러는 Xcode 내부적인 에러이고 Xcode를 완전히 종료하고 다시 실행하시거나 맥 자체를 재부팅하시면 대부분 해결됩니다.간혹, CPU를 많이 사용하는 경우에도 발생하기도 합니다. CPU를 많이 사용하는 다른 앱이 없는지도 확인해 보시기 바랍니다. UIKit 임포트와 관련된 문제 역시 앞의 에러와 연결된 문제인것 같습니다. Foundation을 임포트 했을 때 문제가 없다면, UIKit을 임포트 했을 때도 문제가 없어야 합니다. 계속해서 동일한 문제가 발생한다면 코드 자체에 문법적인 오류가 있을 가능성도 있습니다. 재시작 후에도 동일한 문제가 발생한다면 전체 코드를 질문으로 등록해 주세요.
질문&답변
Custom Activity Item 질문
Xcode 16 버전에서 iOS 18 시뮬레이터로 실행하셨다면, 강의에 있는 코드로는 아이콘이 표시되지 않는 것이 맞습니다.iOS 17이나 그 이전 버전 시뮬레이터로 실행해보시면 정상적으로 결과를 확인할 수 있습니다.우선 레퍼런스를 확인했을 때는 별다른 변경사항이 없는 것으로 보입니다. OS의 버그일 가능성도 있을 것 같습니다. 일단 해당 내용은 부차적인 부분이므로 다음 단계로 넘어가시는 것을 권해드립니다.나중에 해결방법을 찾게 되면 다시 답변 남기겠습니다!
질문&답변
오류를 원인을 알고 싶습니다.
보여주신 코드에서는 for 문이 중첩되어 있습니다. dict[key] = timeZoneList까지만 첫 번째 for 문에 추가하고, 나머지는 아래와 같이 첫 번째 for 문 뒤에서 작성해 주세요 func setupList() { var dict = [String: [TimeZone]]() for id in TimeZone.knownTimeZoneIdentifiers { guard let city = id.components(separatedBy: "/").last else { continue } var timeZoneList = [TimeZone(identifier: id)!] let key = city.chosung ?? "Unknown" if let list = dict[key] { timeZoneList.append(contentsOf: list) } dict[key] = timeZoneList } for (key, value) in dict { let items = value.sorted { guard let lhs = $0.city, let rhs = $1.city else { return false } return lhs
질문&답변
클로저 문법최적화 확인부탁드립니다!
첼린지에서 제시한 조건에 맞게 잘 구현하셨습니다 👍비록 공부 목적으로 구현한 코드지만, testarr > testArr 이렇게 이름 정의 규칙을 맞춰주시면 더 좋은 코드가 될 것 같습니다 :)
질문&답변
Section21 Nework Part1 / JSON
안녕하세요 해당 문제는 수정을 완료했고, 현재는 정상적으로 동작하고 있습니다.문제점을 알려주셔서 감사합니다.
질문&답변
파라미터와 아규먼트 혼동
말씀하신것처럼 명확히 구분하려면 Arguments로 쓰는게 맞습니다. 보통은 파라미터로 통칭해서 부르는 경우가 많기 때문에 문법에서는 Parameters로 표기했는데, 혼동의 여지가 충분히 있을것 같습니다. 다음 버전을 제작할 때 참고하도록 하겠습니다. 좋은 질문주셔서 감사합니다 :)
질문&답변
Closures syntax Optimization 부분 contains 문제
안녕하세요 :)아래와 같은 과정으로 최적화 할 수 있습니다.proModels.contains(where: { (str) -> Bool in return str.contains("Pro") }) proModels.contains(where: { return $0.contains("Pro") }) proModels.contains(where: { $0.contains("Pro") }) proModels.contains() { $0.contains("Pro") } proModels.contains { $0.contains("Pro") }
질문&답변
UI가 너무 다른것같아요;
안녕하세요 :) 스토리보드에서 Shift + Cmd + L을 누르시거나 툴바 오른쪽 위에 있는 + 모양 버튼을 누르시면 라이브러리가 표시됩니다. 여기에서 button으로 검색하신 다음 "Button" 항목을 드래그해서 추가하시면 됩니다. 잘 안되시면 다시 알려주세요 :)
질문&답변
강의 Optional Chaining에서 질문있습니다
안녕하세요 :) 말씀하신대로 Optional String이 되는 것이 맞습니다. 문제점을 지적해 주셔서 감사합니다. 해당 부분은 빠르게 수정하도록 하겠습니다. 자동완성을 표시하는 단축키는 보통 ESC 또는 Ctrl + Space입니다. 정확한 단축키는 Xcode 환경설정 > Key Bindings 에서 completion으로 검색하시면 확인 가능합니다.
질문&답변
질문
안녕하세요 :) 두 가지 모두 상위 클래스에서 상속된 생성자를 호출하는 것입니다. 따라서 2번, 3번에 규칙에 속합니다. self. 으로 호출하면 항상 delegate across super. 으로 호출해야 delegate up 입니다.