어떤 분이 초기화되지 않은 버퍼에 액세스 할 수 있는 배열 초기화 프로그램을 만든 포스트를 보다가 작성하게 되었어요. forums.swift.org/t/array-initializer-with-access-to-uninitialized-buffer/13689 스위프트에서 배열 크기 늘리기 // Grwoing the size an array 스위프트에서 배열은 내용을 보관하기 위해 특정 사이즈만큼의 메모리를 예약해둡니다. 배열에 element를 추가하고 해당 배열이 예약된 용량을 초과하기 시작하면, 배열은 더 큰 메모리 영역을 할당하고 해당 element를 새 저장 공간에 복사합니다. 이때 새 저장소의 크기는 이전 저장소 크기의 배수입니다. 이렇게 배수로 증가시키는 것은 상수 시간으로 element가 추가..
이전에 살펴봤던 @State에 이어서 @Binding, @ObservedObject and @EnvironmentObject를 살펴보겠습니다. @State 뷰가 소유하고 있는 변수입니다. @State 변수는 영구 저장소를 할당하게 됩니다. 애플은 @State변수가 특정 뷰에게 관리되고 소유되도록 private 하게 선언하도록 합니다. 2020/11/02 - [개발/SwiftUI] - SwiftUI @State살펴보기 @Binding 데이터를 저장하는 프로퍼티와 데이터를 표시하고 변경하는 뷰 사이에 연결을 @Binding을 사용해 만들 수 있습니다. (즉 다른 뷰에서 @State 변수를 바인딩할 수 있습니다.) @Binding은 데이터의 참조값을 가지고 있기 때문에 @State와 다르게 초기화해주지 않아도..
값이 변하면 UI가 업데이트되어야 한다고 가정해봅시다. 그때 SwiftUI에서는 @State를 사용할 수 있습니다. SwiftUI는 State로 선언된 프로퍼티의 저장 공간을 관리합니다. SwiftUI에서 @State변수가 변경되면 뷰는 appearance를 무효화하고 body를 재계산합니다. 주어진 뷰에 대한 단일 소스로 사용합니다. State 인스턴스는 값 그 자체라는 것이 아니라 값의 읽기와 쓰는 수단입니다. 뷰의 본문 내부 또는 호출된 메서드에서만 프로퍼티에 접근해야 합니다. 뷰 클라이언트가 접근하지 못하도록 프로퍼티를 private으로 선언합니다. 어떤 스레드에서도 프로퍼티 상태를 변경하는 것은 안전합니다. 다른 뷰에 프로퍼티 상태를 전달하기 위해서 $와 변수 이름을 함께 사용해 프로퍼티 속성을..
2020/10/12 - [개발/iOS] - AVPlayer클래스 살펴보기 2020/10/12 - [개발/iOS] - AVPlayer에서 플레이어 상태 파악하기 AVPlayer는 미디어 재생과 타임을 관리할 수 있는 컨트롤러이다. 이번에 AVPlayer를 사용해 개발하다가 하루 종일 끙끙거린 문제가 있었다. 먼저 AVAsset으로 모델링한 것으로 AVPlayerItem을 만들어 플레이어에 넣어주었다. 그리고 플레이어를 재생시키면 잘 재생되는 것 까지 확인 완료. 문제는 여기다. 잘 재생되다가 오디오 인터럽트가 지속될시에 현재 재생하고 있는 미디어가 노출되지 않는 현상이 발생했다. (카메라 앱에서 동영상을 오래동안 찍고 있거나 슬립 상태에 진입) 애플에서 자체적으로 비디오 렌더링을 못하게 막는 것 같았음. ..
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를 누르면 버전을 확인할 수 있습니다.
2020/04/24 - [공부/Deep Learning] - CSV 파일이란 .CSV 파일은 콤마로 구분된 파일이다. 메모장이나 엑셀로도 열수 있어서 편하게 접근 저장 가능하다는 장점이 있다. 구글 드라이브에서 CSV파일 업로드 방법. 왼쪽을 보면 폴더 모양 아이콘이 존재한다. 클릭해주면 파일이라는 사이드에 메뉴가 생긴다. 아래와 같이 왼쪽 첫 번째 아이콘을 눌러주고 원하는 .CSV 파일을 선택한다. 선택하면 아래와 같이 원하는 .CSV 파일을 가져오게 된다. 그리고 이 파일을 사용하기 위해서 경로를 알아야 하는데 마우스를 파일에 호버 시키면 우측에 점 3개가 나온다. 클릭해주면 경로 복사 메뉴가 존재하고 이것을 눌러주고 사용해야 하는 곳에 붙여 넣기를 해주면 된다.
차례 - tvOS Picture in Picture - implementing tvOS Picture in Picture - Working with the standard playback UI - Demo Picture in Picture을 살펴보자. 이번에 애플 TV에 새롭게 등장한다. 또한 두 개의 영상이 동시에 재생된다. 프로젝트 구축 구현하려면 백그라운드 모드도 추가해줘야 한다. 오디오 세션을. playback 카테고리로 구성해야 한다. 이미 아이패드에도 구현해봤다면 친숙할 것이다. 표준 재생 UI를 사용한다. PIP는 기본적으로 활성화된다. PIP 생명주기는 AVPlayerViewControllerDelegate에 있다. 아래 메서드들을 통해서 관찰 가능하다. 특히나 마지막 복구되는 메서드를 살..
- Total
- Today
- Yesterday
- 애니메이션
- 독서
- stanford SwiftUI
- ARC
- swiftUI
- wwdc
- Xcode
- ReactiveX
- Animation
- objc
- 머신러닝
- 알고리즘
- string
- objective-c
- RX
- 책 추천
- Deep learning
- iOS SwiftUI
- 스위프트
- swift5
- 딥러닝
- Algorithm
- 문자열
- rxswift
- ios
- 책
- 책 후기
- SWIFT
- 스위프트UI
- 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 |