SwiftUI로 인터페이스를 설정하고 프로젝트를 생성해봅니다. 이전에 보지 못했던 SceneDelegate파일이 생겼습니다. SceneDelegate에는 AppDelegate에 있었던 라이프 사이클에 관한 메서드가 존재합니다. 새로운 scene메서드를 살펴보겠습니다. 이 메서드 내에서 window contents를 제공해주는 SwiftUI 뷰를 생성합니다. UIHostingController는 SwiftUI 뷰 contentView를 위해 view controller를 만듭니다. UIHostingController를 통해 기존에 있던 앱에 SwiftUI 뷰들을 통합할 수 있게 해 줍니다. 또한 인터페이스를 SwiftUI로 설정하여 프로젝트를 생성하면 스토리보드나 뷰 컨트롤러가 존재하지 않습니다. 대신에 ..
SwiftUI로 개발하려면 아래와 같은 조건이 만족되어야 합니다. 먼저 macOS Mojave (10.14.4)이거나 이후에 나온 것이어야 합니다. 맥에서 사용하고 있는 OS가 무엇인지 확인합니다. 확인하는 방법은 좌측 상단에 있는 애플 로고를 눌러주고 이 맥에 관하여 메뉴를 누르면 macOS을 확인할 수 있습니다. support.apple.com/ko-kr/HT201260 Xcode11이거나 이후에 나온 것이어야 합니다. 확인하는 방법은 Xcode를 실행하고 좌측 상단에 있는 Xcode메뉴를 눌러주고 About Xcode를 누르면 버전을 확인할 수 있습니다.
오랜만에 알고리즘 포스팅을 해보려 합니다. 오늘은 Leetcode 94번 문제를 풀어볼 거예요. 제목은 Binary Tree Inorder Traversal이고 64.1%의 성공률을 가지고 중간 난이도입니다. 이진트리 중위 순회하는 문제입니다. 문제를 풀기 전에 이진 트리 순회 개념부터 살펴봅시다. 트리 순회는 트리 구조에서 각각의 노드를 정확히 한 번만 체계적인 방법으로 방문하는 과정을 말합니다. 연결 리스트와 1차원 배열과 같은 선형 자료 구조에서는 한 가지의 논리적인 순회 방법이 존재하지만, 트리 구조의 순회에는 많은 방법이 존재합니다. 전위 순회 (preorder) 1. 노드를 방문합니다. 2. 왼쪽 서브 트리를 전위 순회합니다. 3. 오른쪽 서브 트리를 전위 순회합니다. 전위 순회는 깊이 우선 ..
leetcode.com/problems/string-to-integer-atoi 위 알고리즘 문제를 풀다가 스위프트 오버플로우 연산에 대해 궁금해졌습니다. 범위 넘어가는 작업을 처리하다가 스위프트에 오버플로우 연산에 대해 궁금해졌고 공부하고 정리해야겠다 생각이 들었습니다. *문제에서 제약 조건 Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. If the numerical value is out of the range of representable values, INT_MAX (231 − 1) or INT_MIN (−231..
스위프트에서 비트 연산자를 사용하면 데이터 구조 내에서 각각의 원시 데이터 비트를 조작할 수 있습니다. 그래픽 프로그래밍 및 장치 드라이버 생성과 같은 low-level 프로그래밍에서 더 자주 사용됩니다. 비트 연산자는 인코딩과 디코딩 같은 외부 소스의 원시 데이터와 작업할 때도 유용합니다. NOT 비트 연산자 ~ NOT 비트 연산자는 모든 비트를 반전시킵니다. let initialBits: UInt8 = 0b00001111 let invertedBits = ~initialBits // equals 11110000 위 예제를 살펴보면 0은 1이 되고 1은 0이 되는 것을 확인할 수 있습니다. AND 비트 연산자 & AND 비트 연산자는 두 수의 비트를 결합합니다. 비트가 1로 동일한 경우에 1을 반환합니..
대장정이 될 것 같은 UICollectionView에 대해서 정리해보려 합니다. 흔히 쓰는 UICollectionView는 어떻게 선언되어 있는지 살펴봅시다. UICollectionView는 UIScrollView를 상속하고 있습니다. UICollectionView는 관련 데이터 아이템들을 관리하고 커스텀 가능한 레이아웃을 사용해 표시할 수 있는 객체입니다. 그래서 우리는 UICollectionView를 연관된 데이터를 관리할 때 사용합니다. UICollectionView에서 가장 작은 단위는 item이며, 이것을 그룹화하여 섹션으로 보여줄 수도 있습니다. collectionView는 cell뿐 아니라 다른 타입의 뷰를 사용해 데이터를 표시할 수 있습니다. 섹션의 header 그리고 footer와 같이 ..
시뮬레이터 전문가가 되어보자. 시뮬레이터는 개발자 경험을 강화하고 좋은 앱을 만드는 데 어떻게 도움이 되는지 이야기합니다. 시뮬레이터가 무엇이고 무엇을 할 수 있는지 말할 것입니다. 시뮬레이터를 사용하면 맥에서 iOS, iPadOS, TVOS 그리고 watchOS의 앱을 테스트할 수 있습니다. 시뮬레이터는 Xcode에 내장되어 있어서 실제로 기기가 없어도 앱을 실행할 수 있고 테스트 가능합니다. 여기 두 가지의 시뮬레이터가 부팅되어있습니다. iOS14를 실행하는 아이폰 11과 아이패드 프로입니다. 시뮬레이터 위 타이틀을 통해서 실행 중인 OS의 장치 이름과 버전을 확인할 수 있습니다. Xcode12에서는 시뮬레이터에서 스크린 샷을 찍는 것이 향상되었습니다. 스크린 샷 버튼을 클릭하면 찍힌 스크린 샷이 옆..
What’s New in Swift 오늘날 여러방면으로 스위프트 주변이 활성화 되고있다. 차례 애플 OS와 API에서의 스위프트 오픈소스 라이브러리 크로스 플랫폼 스위프트5의 ABI 안정성으로 바이너리 프레임워크가 더욱 빨라졌다. 이는 강력한 새로운 API를 출현하도록 이끌었다. 결국 스위프트는 크로스 플랫폼 언어로 도달했다. 스위프트 런타임 퍼포먼스 코드 사이즈 코드 사이즈는 앱의 일부이고 앱의 로직에서 기계어를 나타낸다. 코드 사이즈는 지금까지 최적화에 집중해서 여러번에 걸쳐 출시했다. 그 과정을 추적해보자 (줄어드는 바이너리 사이즈) 스위프트와 오브젝티브씨 버전을 비교했을 때, 스위프트4 에서는 코드 사이즈가 오브젝티브씨의 2.3배였다. 스위프트4.1에서 코드 사이즈 최적화 설정으로 큰 덩어리를 걸..
- Total
- Today
- Yesterday
- 독서
- ReactiveX
- RX
- objective-c
- 책 후기
- rxswift
- 애니메이션
- stanford SwiftUI
- 딥러닝
- Animation
- 문자열
- 스위프트UI
- swift5
- ios
- 알고리즘
- string
- SWIFT
- 책
- wwdc
- 머신러닝
- Algorithm
- Deep learning
- iOS SwiftUI
- objc
- 스위프트
- Xcode
- swiftUI
- ARC
- leetcode
- 책 추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |