본문 바로가기

문법

(20)
[Swift] CoreData 속성 중 있는 Transformable 타입은 어디에쓰이나? Transformable 유형에 대해 알아보았따. => CoreData내 비표준 객체 유형을 저장하는데 유용하다. 예로 UIImages를 Core Data내의 속성으로 저장할 수 있는 코드를 제공한다. 이미지 데이터는 이미지의 PNG표현이 포함된 NSData인스턴스로 변환됩니다. 이것은 사용자 정의 NSValueTransformer에 의해 모두 투명하게 처리됩니다. https://stackoverflow.com/questions/3014498/what-can-i-do-with-an-transformable-attribute-type-in-core-data-on-the-iphone 애플이 Data유형은 Transformable을 사용하라고 문서에 권장하고있따. https://developer.apple.c..
[Swift] ARC에 대해 간단히 알아보잡(feat. 클로저캡쳐) ARC(Automatic Reference Counting)에대해 알아보기! [ARC동작] 클래스의 새 인스턴스를 만들때마다 ARC는 인스턴스 정보를 담는데 필요한 적정한 크기의 메모리를 할당한다. 메모리는 인스턴스에 대한 정보와 관련된 저장프로퍼티 값도 갖는다. 인스턴스가 더이상 사용되지않을때 ARC는 그 인스턴스가 차지하고 있는 메모리를 해지해서 다른 용도로 사용할 수 있도록 공간을 확보한다. 만일 메모리에서 해제된 인스턴스 프로퍼티에 접근한다면 Crash가 발생하게된다. ARC에서 사용중인 인스턴스에 대한 참조를 추적함으로써 아직 사용중인 인스턴스를 해지하지않도록 한다. RC란? class를 참조하는 인스턴스의 수! RC가 어떻게 적용되는지 알아보자 class Person { let name: St..
[Swift] Sequence Type이란? Sequence Type (프로토콜) 위의 계층 구조를 보면 모든 것들이 Sequence프로토콜을 기반으로 작성되었다는 사실을 알 수 있습니다. Array타입을 사용할때 Sequence가 대부분의 기능을 제공합니다. map, filter뿐만아니라 Sequence안에 특정 조건을 만족하는 첫번째요소찾는 기능까지, 모두 다 Sequence프로토콜 안에 정의되어있습니다. Sequence가 가장 단순한 것이고, 나머지는 Sequence를 기반으로 작성된것들입니다. [정의] 해당 요소에 대한 순차반복 엑세스를 제공하는 유형입니다. 예시) 문자열 값, 배열, 컬렉션타입의 값들? [특징] 시퀀스는 한 번에 하나씩 단계별로 수행할 수 있는 값의 목록이다. 시퀀스의 요소를 반복하는 가장일반적인 방법은 for in 루프를..
[Swift] Class와 struct 중 어느것을 선택해야할까 ? - Reference - https://developer.apple.com/documentation/swift/choosing_between_structures_and_classes Apple Developer Documentation developer.apple.com [정의] - 프로그램 코드의 빌딩블록이되는 유연유연한 범용 구조이다. NOTE - 다른언어와 달리 언터페이스 파일을 만들지않고 사용하며 다른코드에서도 적용이 가능하다. # 클래스와 구조체중 어떤걸 사용해야할까 ? [두 타입중 하나를 선택하기위한 방법에 대한 애플의 권장사항] - 기본적으로 구조를 사용해라(+구상하는 코드의 정체성을 모르겠을때) - Objective-C 상호 운용성이 필요할때 클래스를 사용해라. - 모델링 중인 데이터의 I..
[Swift] 타입(Type Casting)캐스팅이란? - Reference - https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html Type Casting — The Swift Programming Language (Swift 5.6) Type Casting Type casting is a way to check the type of an instance, or to treat that instance as a different superclass or subclass from somewhere else in its own class hierarchy. Type casting in Swift is implemented with the is and as operators. These tw docs..
[Swift] Error Handling[1편] 알아보자! - Reference - https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html#ID514 Error Handling — The Swift Programming Language (Swift 5.6) Error Handling Error handling is the process of responding to and recovering from error conditions in your program. Swift provides first-class support for throwing, catching, propagating, and manipulating recoverable errors at runtime. Some operations..
[Swift] Set(집합)과 메서드기능을 알아보자!(feat. HashValue) - Reference - https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html Collection Types — The Swift Programming Language (Swift 5.6) Collection Types Swift provides three primary collection types, known as arrays, sets, and dictionaries, for storing collections of values. Arrays are ordered collections of values. Sets are unordered collections of unique values. Dictionaries are unord..
[작성중...] What is the Mutating ? - Reference - https://medium.com/mobile-app-development-publication/use-swift-struct-for-total-immutability-6f07388cad5e Use Swift Struct For Total Immutability The many ways to prevent mutability of Swift’s struct medium.com mutating 이란? - 값 타입(구조체, 열거형)의 메서드가 내부 프로퍼티의 변수를 변경할 수 있다는 것을 컴파일러에게 알려주는 것이다. var struct 변수에서만 호출할 수 있지만 let struct 변수에서는 호출할 수 없다. class A { var value = 10 } let a = A() ..
[UI]AVFoundation와 Timer 학습하기 # AVFoundation AvFoundation은 다양한 Apple플랫폼에사운드 및 영상 미디어의 처리, 제어, 가져오기 및 내보내기 등 광범위한 기능을 제공하는 프레임워크이다. # 주요기능 - 미디어 재생 및 편집 - 디바이스 카메라와 마이크를 이용한 영상 녹화 및 사운드 녹음 - 시스템 사운드 제어 - 문자의 음성화 # AVAudioPlayer Class - AVAudioPlayer 클래스는 파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능을 제공한다. # AVAudioPlayer 주요기능 - 파일 또는 메모리에 있는 사운드 재생 - 파일 재생 시간 길이의 제한없이 사운드 재생 - 여러 개 사운드 파일 동시 재생 - 사운드의 재생 속도 제어 및 스테레오 포지셔닝 - 앞으로 감기와 뒤로 감기등의..
[UI] UIkit이란? iOS 또는 tvOS 앱용 그래픽 이벤트 기반된 사용자 인터페이스를 구성하고 관리하는 프레임워크이다. 기본적으로 앱을 만들때 필수로 필요한 하부구조를 제공한다. 인터페이스를 구현하기 위한 창 및 View아키텍쳐를 제공한다. 시스템 및 앱 간의 상호 작용을 관리하는 데 필요한 기본 실행 루프를 제공한다. 제공되는 기타 기능은 애니메이션, 문서, 그리기와 출력, 현재 장치에대한 정보, 텍스트 관리 및 표시, 검색, 접근성, 앱의 확장 , 자원 등이 있다. # 애플 문서 중요 참고 사항 - 달리 명시되지 않는 한 앱의 메인 스레드나 메인 디스패치 큐 에서만 UIKit 클래스를 사용해라. 이 제한은 특히 UIResponder에서 파생된 클래스 또는 어떤식으로든 앱의 사용자 인터페이스 조작과 관련된 클래스에 적용..