반응형

macOS 17

[Framework] 파인더 커스텀 FIFinderSync(2)

Custom Toolbar 생성 Toolbar 이름 정의 override var toolbarItemName: String { return "FinderSy" } FinderSy라는 타이틀을 가진 Toolbar을 생성해준다 ToolBar 세부 내용 정의 override var toolbarItemToolTip: String { return "FinderSy: Click the toolbar item for a menu." } Toolbar안에 어떤 세부적인 기능들이 있는지 명시해준다. Toolbar의 이미지 설정 override var toolbarItemImage: NSImage { return NSImage(named: NSImage.cautionName)! } 툴바의 이미지를 NSImage 타입으로..

macOS 2021.05.03

[Framework] 파인더 커스텀 FIFinderSync(1)

FIFinderSync FIFinderSync는 macOS 프레임워크 중 사용자 정의 바로가기 메뉴 및 도구모음 버튼을 Finder에 추가한다. 이 클래스는 개발자가 액세스할 수 있는 API를 제공하지 않지만 프로토콜을 채택한다. 또한 폴더가 열리고 사용될 때를 탐지하여 감시할 수 있도록 설정하고 등록할 수 있다. 또한 해당 폴더안에 있는 파일안에 커스텀 컨텍스트 메뉴를 만들어서 사용할 수 있다. FIFinderSync는 NSObject를 상속한다. 기능 Sidebar Icon에 원하는 폴더 추가 해당 폴더안에 있는 파일 및 폴더에 뱃지기능 추가 해당 폴더안에 있는 파일 및 폴더에 원하는 context Menu 추가 가능 Finder Toolbar에 원하는 커스텀 버튼 추가 시작하기 원하는 xCode p..

macOS 2021.04.29

[iOS, macOS] PromiseKit

[참조] https://www.raywenderlich.com/9208-getting-started-with-promisekit PromiseKit이란? PromiseKit은 Apple의 모든 플랫폼에서 사용가능한 오픈소스 중 하나로 비동기 프로그래밍 관련 프로젝트를 진행할 때 도와주는 프레임워크이다. 특정 순서로 작업을 진행해야하는 비동기 함수를 작성할 때 효과적으로 사용이 가능하다. Promise의 장점은 변화에 따른 주기적인 업데이트를 한다는 것이다. 오픈소스를 사용할 때 주의해야 할 점이 swift나 xcode의 업데이트에 관해서 수시적으로 프레임워크를 업데이트를 하는지이다. 이런 것을 확인하지 않고 오픈소스를 사용하다가 갑자기 프로젝트 관리가 중단되면 프로젝트 안에 관련 모든 코드를 지워야되는 ..

macOS 2021.03.23

[Swift] Protocol(1)

프로토콜이란? 프로토콜은 특정 작업이나 기능에 적합한 메서드, 프로퍼티 및 기타 요구사항을 정의해준다. 그 다음 프로토콜을 Class, Struct, Enum에서 채택하여 이런 요구사항을 실제로 구현할 수 있도록 도와준다. 프로토콜은 메서드, 프로퍼티 등을 정의만 하고, 이 프토토콜을 채택한 곳에서 구현을 한다. object-c 언어의 .h 파일과 .m 파일과 같은 느낌이다. 직접 만들수도 있고 이미 만들어져 있는 프로토콜을 채택하기도 한다. 오늘은 가장 많이 사용하는 프로토콜 들을 알아볼려고 한다. Equtable Equtable은 말 그대로 같은지 아닌지를 비교할 수 있도록 도와주는 프토토콜이다. 이 프로토콜을 채용하면 객체와 객체, 혹은 같은 구조체로 만들어진 요소들을 비교할 수 있게 된다. ==을..

macOS 2021.03.16

[Swift] UserDefaults

UserDefaults는 App 시작시 사용자의 기본 데이터베이스를 키-값 쌍으로 지속적으로 저장하는 인터페이스이다. 런타임 시 개체를 사용하여 App이 사용자의 기본 데이터베이스에서 사용하는 기본값을 읽기 때문에 값이 필요할 때마다 데이터베이스를 열 필요가 없어진다. 사용자의 정보라던가 게시물의 대한 정보처럼 대용량의 데이터를 저장할 때 사용하지 않고 자동로그인 여부, 아이디 저장, 환경설정에서 설정하는 설정 데이터 값같은 단일데이터 등을 UserDefaults로 담아서 보관한다. Available iOS 2.0+ macOS 10.0+ Mac Catalyst 3.0+ tvOS 9.0+ watchOS 2.0+ 주요 기능 기본 개체 저장 swift안에 있는 float, Int, double, Bool, U..

macOS 2021.03.15

[iOS, macOS] Alamofire Framework(3)

이전 포스트를 안보신 분들은 보시고 오는 것을 추천드립니다. [iOS, macOS] Alamofire Framework(1) [iOS, macOS] Alamofire Framework(2) Controller 마지막으로 사용자에게 기능을 제공하는 Controller만 남았는데 여기서 Alamofire을 사용하여 API와 통신을 하여 데이터를 최신화한 뒤 View에 제공해 준다. MainTableViewController Import Alamofire import Alamofire Alamofire 프레임워크를 사용하기 위해 코드 제일 앞에 Alamofire을 import 해준다. 변수 생성 var films: [Film] = [] var items: [Displayable] = [] var selecte..

macOS 2021.03.11

[iOS, macOS] Alamofire Framework(2)

프로젝트 구조 이전 포스팅에 이어서 프로젝트에 대해 분석을 하면서 Alamofire의 기능들을 공부해볼려고 한다. [이전 포스팅 바로가기] 해당 프로젝트의 디자인 패턴은 MVC구조로 되어있고 Model 부분은 Networking 폴더안에, View는 스토리보드 파일로 표현하였고, Controller 부분은 ViewController 폴더안에 있다. 우선 Model 쪽을 먼저 확인을 해야겠다. Model Networking 폴더 안에는 총 5가지의 파일이 있는데 해당 파일들을 분석해서 요약을 해보았다. ⚫ Displayable.swift : 모델 데이터를 get방식으로 view의 표시하기 위한 프로토콜 ⚫ Film.swift : 스타워즈 영화 정보에 대한 모델 데이터 ⚫ Films.swift : 영화 정보..

macOS 2021.03.10

[iOS, macOS] Alamofire Framework(1)

Alamofire란? Alamofire은 iOS와 macOS에서 사용가능한 Swift 기반 HTTP 네트워킹 프레임워크이다. Apple의 Foundation networking을 기반으로 인터페이스를 제공하여 일반적인 네트워킹 작업을 단순화한다. Alamofire의 장점은 object-C 언어가 하나도 없이 오직 swift로만 작성된 프레임워크이고 오픈소스인데 거의 완벽한 공식 문서가 있어서 사용자가 처음 사용할 때 어려움이 크게 없다. 어느정도 HTTP 네트워킹의 개념을 알고 있고 swift의 URLSession 클래스를 사용한 경험이 있다면 쉽게 다가갈 수 있는 오픈소스 프레임워크이다. 세부 기능 — Request & Response의 체이닝 함수 제공 — Combine 지원 — URL 및 JSON ..

macOS 2021.03.09

[iOS, macOS] QuickLook 프레임워크(2)

ViewController.swift ViewController에서 QuickLook 기능을 사용할려면 QuickLook관련 2가지 프로토콜을 채택해야한다. QLPreviewControllerDataSource 프로토콜과 QLPreviewControllerDelegate 프로토콜인데 extension을 통해 코드의 가시성과 유지보수에 좋게 코드를 나누어서 개발을 하였다. ViewController class ViewController: UICollectionViewController { weak var tappedCell: FileCell? let files = File.loadFiles() //collectionView의 cell의 개수 override func collectionView(_ colle..

macOS 2021.03.07

[iOS, macOS] QuickLook 프레임워크(1)

QuickLook이란? 프로젝트 내에서 이미지 파일이나 pdf 파일 등을 미리보기로 보여주고 싶은 경우가 있다. 이 때 사용하는 프레임워크인데 특정 파일들을 바로 보여주고 싶을 때 사용한다. 읽기 전용으로만 사용할 수 있으며, 쓰기는 사용할 수 없다. Apple 자체에서 제공하는 프레임워크이기 때문에 별도에 빌드없이 바로 import해서 사용할 수 있다. iOS, macOS 프로젝트 둘 다 사용할 수 있다. 제공하는 파일형식 — iWork 및 MS Office 문서 — 이미지 — 라이브 포토 — txt 파일 — PDF — 오디오 및 비디오 파일 — usdz 파일 형식을 사용하는 증강 현실 개체( iOS만 해당 ) Availability ios 4.0+ macOS 10.5+ Mac Catalyst 13.0..

macOS 2021.03.06
반응형