일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 디자인패턴
- Protocol
- initalizer
- initializer
- UIKit
- enum
- Foundation
- type
- instance
- init
- extension
- Xcode
- Method
- struct
- tuist
- url
- property
- Class
- Git
- 스위프트
- Unicode
- IOS
- 이니셜라이저
- String
- 코딩테스트
- interpace
- optional
- Swift
- Terminal
- delegate
- Today
- Total
목록IOS (36)
아리의 iOS 탐구생활
iOS 프로그래밍 강의를 듣다가 만나게 된 번들. 이 번들은 디렉토리를 추상화한 용어이다. Bundle과 Package 개념을 서로 혼용해서 쓰는 경우가 많은데, 많은 Bundle이 Package이기도 하기 때문이다. application 같은 경우는 Finder에서 사용자에게 단일한 파일로 노출되는 Package이면서, 실행 코드와 리소스를 포함하여 Bundle이기도 한 대표적인 예시라고 볼 수 있다. A Bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code. 실행 가능한 코드와, 그 코드에 의해 사용되는 리소스를 가진 디렉토리...
Auto Layout Guide: Understanding Auto Layout developer.apple.com 뷰에 설정되어있는 제약조건(Constraints)을 기반으로 해서 동적으로 크기와 위치를 계산하는 것을 말한다. 사람들은 다양한 크기의 아이폰 디바이스를 사용한다. 그렇기 때문에 어플리케이션이 디바이스 사이즈에 구애받지 않고 동일한 화면을 구성할 필요가 있다. 그래서 나온 것이 오토레이아웃(Auto Layout)이다. 오토 레이아웃은 뷰의 크기와 위치를 동적으로 계산한다. 즉 인터페이스에 절대적인 좌표가 아닌 상대적인 좌표가 필요할 때 유용하다. 오토레이아웃이 주로 사용되는 이유는 외부 변경과 내부 변경 때문이다. 외부 변경(External Changes) 슈퍼뷰의 크기나 모양이 변경될 때..
먼저 나에 대한 소개를 하자면, 원래 평범하게 8년이라는 시간 동안 영업직을 잘 다니다가 왠지 '이 길은... 내 길이 아닌 것 같아'라고 느낀 그 순간부터 내 적성에 맞는 다른 업종은 없을까... 고민하다가 주변 사람의 추천으로 '개발자'라는 진로에 대해서 고민하게 되었다. 고민을 하다 보니 평소 어릴 적부터 내가 관심 있었던 건 컴퓨터 분야였고, 뭐 전문적으로 교육을 받거나 하진 않았지만 알게 모르게 자잘한 컴퓨터 관련 지식들을 알고 있었고, 또 그 분야에 대해서 탐구하는 것도 좋아했던 지라 업종을 바꾸자고 결심하게 되었고, 이후 6개월간 회사를 다니면서 남는 시간에 프로그래밍에 대해서 알아가는 기간을 가졌다. 6개월간 Java라는 언어도 접해보기도 하고 Flutter라는 프레임워크도 접해보면서 '앱..
Date 관련 타입들은 앱 개발을 할때 굉장히 많이 사용하게 되는 타입중 하나이다. 시간과 날짜를 다루는 타입들은 swift 기본 프레임워크인 Foundation에 포함되어 있다. 🔍 Date Apple Developer Documentation developer.apple.com Foundation의 Date 타입은 전 세계적으로 정확히 같은 시간을 표현하기 위한 타입이다. init() 현재 시간을 나타내준다. init(timeIntervalSinceNow: TimeInterval) 현재 시각으로 부터 입력한 초 이후의 시점을 나타낸다. init(timeInterval: TimeInterval, since: Date) 다른 Date()객체로부터 입력한 초 이후의 시점을 나타낸다. init(timeInt..
🔍 Swift는 메모리 관리를 어떻게 할까? ARC(Automatic Reference Counting)를 사용한다. 🔍 RC(Referenc Count)란 무엇인가? 인스턴스를 현재 누가 가르키고 있느냐 없느냐(참조하냐 안하냐)를 숫자로 표현한 것. 참조 계산 시점: Complie Time에 언제 참조되고 해제되는지 결정되어 런타임 때 그대로 실행된다. 장점: 개발자가 참조 해제 시점을 파악할 수 있고, RunTime 시점에 추가 리소스가 발생하지 않는다. 단점: 순환 참조가 발생 시 영구적으로 메모리가 해제되지 않을 수 있다. Objective-C는 MRC(직접 할당/해제)를 사용했었다. 🔍 RC는 어떤 기준으로 숫자를 셀까? Count Up : 인스턴스의 주소값을 변수에 할당할 때 인스턴스 생성(새..
메모리 구조에 대해서 알아보기전에 메모리의 대한 내용 먼저 다루기 데이터나 프로그램을 저장하는 저장 공간은 계층 구조를 가진다. CPU에서 가장 가까운 저장공간은 레지스터인데, 레지스터 -> CPU 캐시 메모리 -> 메인메모리 -> 보조기억장치 -> 외부기억장치 순으로 멀어진다. CPU로부터 멀어질수록 데이터를 저장하는 용량이 커지고 접근 속도는 느려진다. ROM은 Read Only RAM은 Read / Write 가능 메모리 구조 스택(Stack) 먼저 들어간건 나중에 나온다. (LIFO 후위선출 구조) 할당과 해제를 반복하기 때문에 데이터 용량이 불확실하다. 메모리의 높은 주소부터 낮은 주소 순으로 할당 된다. 함수에 포함된 지역변수들만 접근할 수 있다. 컴파일 시에 할당될 영역의 크기가 결정된다. ..