ios
-
[개발자 문서읽기] About App Development with UIKitiOS 2020. 9. 16. 16:01
의역과 오역이 있을 수 있습니다. 자세한 내용은 원문 About App Development with UIKit 을 참고해주세요 :) UIKit Overview UIKit 프레임워크는 iOS나 tvOS를 빌드하는 데 필요한 핵심 오브젝트들(Core Objects)을 제공합니다. 이러한 오브젝트들을 이용해 화면에 콘텐츠를 보여주고 해당 콘텐츠와 상호작용하며 시스템과의 상호작용을 관리할 수 있습니다. 앱은 기본 동작을 위해 UIKit에 의존하고 특정 요구에 맞게 커스텀 할 수 있는 다양한 방법을 제공합니다. Xcode 는 아래와 같은 기본 템플릿을 제공하고 즉시 실행시켜 볼 수 있습니다. 앱을 빌드시키면 Xcode는 source files을 컴파일하고 프로젝트를 위한 app bundle을 하나 만듭니다. A..
-
부스트캠프 챌린지 5기 수료일상/끄적끄적 2020. 8. 24. 17:09
2020.07.27 ~ 08.21 부스트캠프 챌리지 5기를 수료했다. 길고도 짧았던 부스트캠프 챌린지를 수료하고 평온하고도 허전한 월요일 오후를 맞이하고 있다. 원래 같았으면 이 시간엔 과제와 씨름하느라 상상도 할 수 없었던 여유(?)다. 일주일 후면 다시 멤버십 과정으로 정신없을테니, 지난 한 달을 돌이켜보며 정신무장을 해보려 한다. (? 아직 발표도 나지 않았으나 나는 꼭 가야한다.. 그렇게 될거다... 되어야만 한다... 🙏) 결론부터 말하자면, 올 한 해 가장 잘한 일을 꼽으라면 당연 부캠 이다. 나 혼자라면 상상할 수 없었던 기대 이상의 성장을 경험했다. 개인의 성장을 스스로 평가한다는 것이 내 입으로 "실력이 이만큼 늘었어요!" 라고 말하는 것 같아 우습긴 하지만, 그만큼 열심히 했고 이정도 ..
-
[개발자 문서읽기] Concurreny Proramming Guide - 1iOS 2020. 8. 16. 16:27
공부하며 번역한 내용입니다. 오역과 의역이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요 :) 애플 doccument Introduction Introduction Concurrency is the notion of multiple things happening at the same time. With the proliferation of multicore CPUs and the realization that the number of cores in each processor will only increase, software developers need new ways to take adva developer.apple.com 도입 Concurrency 란 여러가지 일이 동시에 일어나는 개념이다..
-
DispatchQueueiOS 2020. 8. 11. 23:22
iOS의 쓰레드 스케줄링을 처리해줄 DispatchQueue 대해 공부해보겠습니다 :) DispatchQueue 공식 문서의 설명을 간단하게 살펴볼까요? An object that manages the execution of tasks serially or concurrently on your app's main thread or on a background thread. 앱의 메인쓰레드 또는 백그라운드 쓰레드에서 작업의 순차적(serially) 혹은 병렬적(concurrently) 처리를 관리하는 Object 네 설명 끝입니다. 역시 공식문서 답게 완벽한 요약이네요 👏 하지만 이대로 끝낼 순 없으니 이제 이 말 뜻을 조금 더 풀어서 알아보겠습니다 :) 다시한번 DispatchQueue란 iOS의 thr..
-
기기 회전 방향, interfaceOrientation 확인하기 in iOS 13.0iOS 2020. 7. 20. 22:28
핸드폰이 세로 방향 (portrait) 또는 가로 방향으로 (landscape) 회전할 때를 체크하려면 어떻게 해야하는지 알아보겠습니다. 아직도 구글링을 하면 예전 자료가 나오는데요, override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) { coordinator.animate(alongsideTransition: { context in if UIApplication.shared.statusBarOrientation.isLandscape { // activate landscape changes } else { // activate portra..
-
CG, Core GraphicsiOS 2020. 7. 12. 01:11
안녕하세요. iOS에서 뷰를 다룰 때 자주 등장하는 CGFloat, CGRect, CGPoint 등등... CG 패밀리들을 많아 보셨을텐데요, 이때 CG는 Core Graphics 의 약자입니다. 오늘은 이녀석이 뭔지 초심자의 입장에서 아주 가볍게 알아보겠습니다. Core Graphics ? Core Graphics 코어 그래픽스(이하 CG)는 2D 렌더링, 즉 2차원에서 그리는 작업 위해 사용되는 개념입니다. 공식문서를 보면 Quartz 기술을 사용해서 가볍고 정확하게 그릴 수 있다고 나오는데요, 보면 드로잉, 그라데이션, 색상, PDF 등등 다양하고도 폭넓게 사용된다고 해요! 깊게 알면 좋겠으나 다음 기회로 넘기고 CG는 2차원을 위해 사용되는 개념이구나, iOS에서 CG가 붙은 애들은 2차원 좌표계..
-
Hashable in Swift 5Swift 2020. 6. 25. 19:48
요즘 CS193p 강의를 다시 보고 있는데 이런 내용이 있었나 와 정말 이렇게 알찬 강의였나 라는 생각이 계속 드네요 너무도 배울게 많고 부족했던게 많았구나를 알려주는 강의인 것 같습니다. protocol 쪽을 보다가 Hashable에 대해 잠깐 짚어보고 넘어가려고 합니다 :) 새로운 구조체나 클래스를 정의해서 객체를 만들었는데, 얘네들을 비교하고 싶다? 그럴 때 Hashable protocol 을 사용합니다. 그럼 Hashable protocol은 뭘까요? Hashable protocol Hashable 을 뭐라고 설명하는지 먼저 살펴볼까요? integer hash value를 생성하는 Hasher로 hash 될 수 있는 타입. 한 마디로 Hashable protocol을 상속 받는다는 건 hash 될..
-
iOS) 실 기기인지 simulator인지 확인하기 in SwiftiOS 2020. 6. 10. 14:40
simulator에서 많은 부분을 테스트해볼 수 있지만, 꼭 실제 기기에서만 할 수 있는 기능들이 있죠. remote 노티라던지 위치라던지요? 이렇듯 시뮬레이터와 실제 기기를 구분해야 할 경우들이 있습니다. 이럴 땐 간단하게 이렇게 구분할 수 있습니다. #if targetEnvironment(simulator) // Simulator #else // Device #endif 혹은 if TARGET_IPHONE_SIMULATOR == 1 { // Simulator } else { // Device } 감사합니다 :)