본문 바로가기

iOS

(31)
[iOS] iOS에서 체크박스 사용하기 xcode에는 체크박스가 존재하지 않기 때문에, 설치 후 사용해야 한다. 1. 프로젝트의 Podfile에 BEMCheckBox 모듈을 추가한다. 2. pod install 3. 프로젝트를 다시 열어준다. 4. 헤더 파일 추가하기 이 모듈은 Objective-C로 구성되어 있기 때문에, 헤더 파일로 연결시켜주어야 한다. 5. Build Settings > Swift Complier - General > Objective-C Bridging Header > 헤더 파일 추가 6. 스토리보드에서 view를 생성하면, custom class에서 BEMCheckBox를 선택할 수 있는 걸 볼 수 있다. 7. BEMCheckBox를 import한다. 8. BEMCheckBoxDelegate를 채택하고, delegat..
[iOS] JSON 파일 다루기 인코딩 (Encoding) : 정보의 형태나 형식을 표준화, 처리 속도 향상 등을 위해 다른 형태나 형식으로 변환하는 처리 디코딩 (Decoding) : 인코딩한 정보를 다시 기존의 형태로 변환하는 처리 (인코딩의 반대) Codable 스위프트는 스위프트의 인스턴스를 다른 형태로 변환하고 그 반대의 역할을 수행하는 방법을 제공한다. Encodable 프로토콜은 스위프트 타입의 인스턴스를 인코딩할 수 있는 프로토콜이고, Decodable 프로토콜은 스위프트 타입의 인스턴스로 디코딩할 수 있는 프로토콜이다. 그리고 Codable은 Encodable과 Decodable을 합한 타입을 말한다. JSON 파일을 변환할 때 유용하게 인코딩, 디코딩할 수 있다. Codable 인스턴스를 다른 데이터 형식으로 변환하고..
[iOS] NotificationCenter Notification 등록된 노티피케이션에 노티피케이션 센터를 통해 정보를 전달하기 위한 구조체이다. 주요 프로퍼티 var name: Notification.name // 알림을 식별하는 태그 var object: Any? // sender가 옵저버에 보내고자 하는 객체. 주로 sender 객체를 전달하는 데 쓰임 var userInfo: [AnyHashable: Any]? // 노티피케이션과 관련된 값 또는 객체의 저장소 특정 행동으로 인해 작업이 시작되거나 완료되는 시점에 다른 인스턴스로 노티피케이션 발생 시, 필요한 데이터를 같이 넘겨줄 수 있다. ex. 네트워킹 시작 및 완료되는 시점. 음악 및 동영상 재생이 끝나는 시점 NotificationCenter 등록된 옵저버에게 동시에 노티피케이션을 ..
[iOS] CMTime CMTime A struct representing a time value such as a timestamp or duration. timestamp, duration과 같은 값을 나타내는 구조체 CMTime은 보통 이런 형태로 초기화한다. init(value: CMTimeValue, timescale: CMTimeScale) CMTimeValue : Int64 (분자) CMTimeScale: Int32 (분모) 즉, CMTime(value: 100, timescale: 1) 이라면 100초를 나타내는 것이다.
[iOS] AVFoundation, AVPlayer, AVPlayerLayer AVFoundation Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions. 시청각 에셋 관련 작업을 하고, 디바이스 카메라를 제어하고, 오디오를 처리하고, 시스템 오디오 상호작용을 구성한다. AVKit이 동영상 플레이 위주라면, AVFoundation은 동영상, 오디오 등 여러 미디어 관련 작업을 위한 프레임워크인 듯 하다. AVFoundation은 iOS, tvOS, macOS를 위한 애플의 미디어 프레임워크이다. 이를 사용하여 미디어 재생, 캡쳐, 편집, low-level의 처리를 수행할 수 있다. 또한 효율적으로 미디어 에셋을 로드하고 HTTP 라이브 스트..
[iOS] AVKit, AVPlayerViewController AVKit Create view-level services for media playback, complete with user controls, chapter navigation, and support for subtitles and closed captioning. 미디어 재셍을 위한 view-level 서비스를 생성하고, 사용자 제어, chapter navigation(?), 자막, closed caption(??) 지원 기능을 제공한다. AVKit 프레임워크는 영상 콘텐츠 재생을 위한 고급 인터페이스를 제공한다. AVKit은 AVFoundation 위에 구축된 보조 프레임워크이다. AVKit을 사용하면 플랫폼의 재생 환경과 맞는 player 인터페이스를 쉽게 제공할 수 있다. AVKit은 AVFo..
[iOS] Gesture Recognizer Gesture Recognizer Gesture Recognizer는 여러 제스처 관련 이벤트를 인식할 수 있다. 특정 제스처 이벤트가 일어날 때마다 각 타깃에 맞는 액션 메시지를 보내서 제스처 관련 이벤트를 처리할 수 있다. UIGestureRecognizer The base class for concrete gesture recognizers. class UIGestureRecognizer : NSObject UIGestureRecognizer 클래스는 특정 Gesture Recognizer에 대한 동작을 정의한다. 또한 델리게이트 객체를 활용해 일부 동작을 더욱 세밀하게 customize 할 수 있다. UIGestureRecognizer의 하위 클래스 1. UITapGestureRecognizer ..
[iOS] 세그 (Segue) 세그 (Segue) 스토리보드에서 뷰 컨트롤러 사이의 화면전환을 위해 사용하는 객체 별도의 코드 없이도 스토리보드에서 세그를 연결해 뷰 컨트롤러 사이의 화면 전환을 구현할 수 있다. UIStoryboardSegue An object that prepares for and performs the visual transition between two view controllers. class UIStoryboardSegue : NSObject UIStoryboardSegue 클래스는 UIKit에서 사용할 수 있는 표준 화면전환을 위한 프로퍼티와 메소드를 포함하고 있다. 또한 커스텀 전환을 정의하기 위해 서브 클래스를 구현해 사용할 수 있다. 필요에 따라 UIViewController의 performSegue..