분류 전체보기
-
ViewController Life CycleiOS 2021. 12. 16. 22:02
안녕하세요. 오늘은 ViewController Life Cycle. 즉, View Controller 생명 주기를 알아보도록 하겠습니다. 보통 생명주기는 어떠한 시스템이 생겨나고 사라질 때까지의 흐름을 의미합니다. ViewController 또한 생명주기가 존재합니다 ViewController의 생명 주기 Method들은 아래와 같습니다. . loadView() . loadViewIfNeeded() . viewDidLoad() . viewWillAppear(_ animated: Bool) . viewWillLayoutSubviews() . viewDidLayoutSubviews() . viewDidAppear(_ animated: Bool) . viewWillDisappear(_ animated: Boo..
-
String은 왜 Int로 Subscript 되지 않을까?Swift 2021. 12. 15. 23:51
안녕하세요. 최근 들어 Swift로 코딩테스트 준비를 하고 있습니다. 애초에 Swift가 코딩테스트에 적합한 언어는 아니라고 생각하지만.. 저는 iOS 개발자니깐요. 아무튼, Swift로 문제를 풀다보면 불편한 부분이 많습니다. Data Structure도 하나하나 만들어줘야 하고 아무튼 많습니다. 오늘은 그 중에서도 가장 저를 당황케 했던 String 처리를 다뤄보겠습니다. 저는 원래는 파이썬을 사용했었기 때문에 let input = readLine()! // String입니다 print(input[0]) 이런 식으로 String의 각 문자에 접근을 하려고 했습니다. 그런데 이러한 방식으로 접근하려 하니 String은 Int형으로 subscript가 안된다고 에러를 뱉어냅니다. 이럴 때는 공식 문서를 ..
-
ViewiOS 2021. 12. 15. 18:55
안녕하세요. 오늘은 View에 대해서 학습해보도록 하겠습니다. 먼저 공식 문서를 살펴보도록 하겠습니다. https://developer.apple.com/documentation/uikit/views_and_controls Apple Developer Documentation developer.apple.com 콘텐츠를 화면에 나타내는 친구라고 하네요. 너무나 당연한 소리네요. 더 읽어보니깐 이런 문장이 있습니다. UIView가 모든 View의 근본이라고 하네요. 그니깐 결국 View는 UIView의 인스턴스거나 UIView를 상속받는 클래스들의 인스턴스인 것입니다. View Hierarchy (뷰 계층) View들은 다른 View들의 주인이 될 수 있습니다. View를 다른 View안으로 포함시키면 포..
-
Delegate PatterniOS 2021. 12. 14. 22:57
안녕하세요. 이번에는 Delegate Pattern에 대해서 알아보도록 하겠습니다. Delegate는 대리자라는 뜻을 가지고 있는데요. Swift에서는 말 그대로 인스턴스가 해야할 일의 일부를 다른 인스턴스에 넘겨주는 디자인 패턴을 의미합니다. 프로토콜(Protocol) Delegate를 이해하기 위해서는 프로토콜에 대한 이해가 필요한데요. 프로토콜은 어떠한 역할을 하기 위한 프로퍼티, 메서드등의 청사진입니다. 다른 언어에서의 인터페이스와 비슷하다고 보시면 될 것 같아요(절대 같지는 않습니다). Swift에서는 아래와 같이 작성합니다. 특징은 기능을 구현하지는 않는다는 점입니다. 클래스, 구조체, 열거형에 프로토콜을 채택해서 프로토콜을 준수하도록 구현해야합니다. 채택한 프로토콜의 요구사항을 모두 구현해야..
-
class 와 struct 그리고 enumSwift 2021. 12. 14. 17:30
안녕하세요! 오늘은 매일매일 사용하면서도 헷갈리는 친구들이죠?? class(클래스)와 struct(구조체)를 알아보도록 할게요! 추가적으로 enum(열거형)도 같이 비교해보도록 하겠습니다~ 우선 가장 많은 분들이 알 거라고 생각되는 class부터 살펴보도록 하겠습니다. 1. class 가장 큰 특징은 참조타입(call by reference)이라는 거에요. 참조타입이 뭐냐! 그럼 우선 iOS 메모리 구조를 알아야하는디요 대략적으로 이렇게 생겼습니다! 메모리에 관해서도 공부하고 설명해드리고 싶지만 그것도 양이 엄청나게 많기 때문에 나중에 시간이 나면 다루도록 하겠습니다ㅠㅠ 여기서 저희가 유심히 지켜봐야할 부분은 Stack 영역과 Heap 영역이에요 우리가 참조 타입 인스턴스를 만들면 Heap 영역에 할당이..
-
iOS 개발하는데 실제 디바이스가 필요할까?iOS 2021. 12. 14. 13:45
없어도 개발할 수는 있겠지만 시뮬레이터와 실제 디바이스가 다르게 존재하는 부분들이 많아서 하나쯤은 있는게 좋겠다고 생각해요! 우선 시뮬레이터(simulator)와 에뮬레이터(emulator)의 차이부터 보고 갈게요. 시뮬레이터는 host 기기에서 host 아키텍처로 빌드해서 target과 비슷한 환경에서 실행하는 경우를 의미해요 그러나 에뮬레이터는 host 기기에서 target 아키텍처로 빌드해서 target과 동일한 환경에서 실행하는 것을 의미해요 XCode에서 제공하는 것은 시뮬레이터죠?? 시뮬레이터는 Mac의 자원을 사용하기 때문에 대부분의 경우에 실기기보다 빠르게 동작해요 Apple이 Apple Silicon 라인업을 발표하면서 에뮬레이터를 기대해 볼 수 도 있을까요?? 어쨋든 아직까지 시뮬레이터..
-
Frame & BoundsiOS 2021. 12. 14. 13:30
안녕하세요! 오늘은 frame과 bounds에 대해서 학습해보고 두 친구의 차이점을 알아보겠습니다. 같이 공부하는 거니깐 잘못된 정보가 있으면 알려주면 매우 감사하겠습니다~! 먼저 frame부터 알아보겠습니다. 공식 문서를 먼저 살펴볼게요. https://developer.apple.com/documentation/uikit/uiview/1622621-frame 제 짧은 영어 실력으로 해석해보면, 사각형인데 View의 위치와 크기를 표현하는 친구라 하네요. 근데 눈에 띄는 단어가 하나 보이네요?? superview's coordinate system? 부모의 좌표계라는 것 같은데 무슨 소린지 정확히 모르겠네요. 이럴 때는 직접 눈으로 확인해보는 것이 제일 좋겠죠?? Xcode를 켜보겠습니다. 우선 UIV..