iOS
[WWDC22] What's new in Swift (5.7)
[WWDC22] What's new in Swift (5.7)
2022.11.12What's new in Swift https://developer.apple.com/videos/play/wwdc2022/110354/ WWDC 2022의 What's new in Swift세션을 보고 정리한 글입니다. Community update 문서생성도구 doc swift.org 오픈소스화 Workgroup support 기존 swift on server / Diversity in Swift에 더해서 Swift Website / C++ Interoperability 워크그룹이 추가 됨 Cross-platform support 리눅스 지원 강화(Amazon Linux 2, CentOS7) Swift Package Swift의 지향점 높은 수준의 스크립트에서 저수준의 베어메탈영역까지 커버하는게 목표..
[Swift Language Guide] String & Character
[Swift Language Guide] String & Character
2022.09.19String은 Character의 연속이다. String의 내용은 Character의 컬렉션을 비롯해 다양하게 접근이 가능하다. Swift의 String과 Character는 빠르고, Unicode에 순응하는 방식을 제공한다. 💡 String 타입은 Foundation 프레임워크의 NSString과 브릿지 되어있다. Foundation이 NSString에 정의된 메소드를 String타입에도 확장해 놓았기 때문에, Foundation을 import한다면 NSString으로 캐스팅 하지 않아도 해당 메소드들을 사용할 수 있다. / 참고: Bridging Between String and NSString String Literals 따옴표 사용 let someString = "Some string litera..
[Swift] COW(Copy-on-Write)
[Swift] COW(Copy-on-Write)
2022.08.24들어가며 Swift에서 값 타입과 참조 타입의 주요한 차이 중 하나는, 값 타입은 새로운 변수를 할당하거나 파라미터로 전달될 때 값 복사가 일어난다는 점이다. 다만, 이러한 복사 작업은 상당한 시간이 걸리므로 이런 작업을 최적화 하기 위한 기술이 바로 COW(Copy-on-Write)이다. "쓸 때 복사한다."라는 의미인데 COW가 어떤 방식으로 동작하는지, 또 Swift에서 어떤 타입에 구현되어있는지를 살펴본다. 실험 실험준비 아래와 같이 메모리 주소를 출력하는 함수를 정의하고 실험을 진행한다. UnsafeRawPointer는 Swift가 지원하는 포인터 타입 중 하나인데, 나중에 포스트를 통해 자세히 설명할 예정이다. 일단 객체의 메모리 주소를 나타내는 타입이라고 이해하자. func printAddr..
CoreML이란? 간단한 글자인식 앱 만들기
CoreML이란? 간단한 글자인식 앱 만들기
2022.06.22iOS에서 머신러닝을 사용할 수 있게 해주는 CoreML 프레임워크에 대해 알아보자. Overview CoreML 프레임워크는 머신러닝 알고리즘을 training data에 적용하여 Model을 만든다. 이 Model을 사용하여 개발자는 새로운 input data에 대해 prediction을 만들어 낼 수 있고 우리가 코드로 작성하기 어렵거나 비현실적인 작업을 성취해 낼 수 있다. 예를들어, 사진을 분류하거나 특정한 대상이 포함된 사진을 찾아내는데 사용된다. 모델을 만들면, 모델을 앱에 통합하고 사용자의 기기에 배치한다. 앱은 CoreML API와 user data를 사용해서 prediction을 도출하거나, 모델을 훈련시키거나, 모델의 미세한 조정을 할 수 있다. 2가지 방법으로 모델을 사용할 수 있는..
[WWDC22] Bring your world into augmented reality(AR)
[WWDC22] Bring your world into augmented reality(AR)
2022.06.09WWDC22 애플의 개발자 컨퍼런스인 WWDC가 6.7~6.11일 5일간 진행된다. 예정된 세션을 훑어보니 (https://developer.apple.com/wwdc22/sessions/) 새로운 기능인 actor와 concurrency(async&await)에 대한 주제들이 대다수를 차지하고 있다. 해당 내용의 공부는 아직 시기상조인 것 같아, 그 외에 흥미로운 몇몇 주제들로 포스팅을 해보고자 한다. 첫번째 포스팅은 요즘 관심이 가는 기술인 증강현실(AR)에 대한 세션이다. Object Capture Object Capture는 기술은 현실 세계에 존재하는 대상의 이미지를 3D모델링으로 옮길 수 있게 하는 Computer Vision 기술이라고 한다. 아이폰을 비롯한 애플기기나 DSLR 카메라를 이용..
[Swift] High-Order Function (고차함수)
[Swift] High-Order Function (고차함수)
2021.11.14고차함수 고차함수는 클로져와 같이 쓰인다. forEach(_:) 기본적으로 for - in 루프와 같은 동작을 한다. break, continue 같은 플로우 컨트롤은 할 수 없음. 모든 요소를 순회한다. 클로저 내부에 return 키워드를 쓰더라도 해당 클로저만 종료 될 뿐 순회가 종료되지 않는다. 뒤에 붙는 클로저 구문을 각 요소를 탐색할때마다 call한다. 아래와 같이 두번 중첩해서 쓰는 것도 가능함. stackView.arrangedSubviews.forEach { smallStackView in let stackView = smallStackView as? UIStackView stackView?.arrangedSubviews.forEach { view in let label = view as?..