반응형

분류 전체보기 128

SwiftUI Profile View

오늘은 SwiftUI 프레임워크를 이용하여 간단한 Profile UI를 만들 예정이다.결과프로필 사진과 사용자에 대한 간단한 정보를 담아주는 Textfield가 있고 오른쪽 상단에는 저장하는 버튼과 삭제하는 버튼을 생성하였다. State 변수 선언struct ContentView: View { @State private var firstName = "" @State private var lastName = "" @State private var company = "" var body: some View { } }우선 TextFiled에 입력된 값을 담는 변수들을 State로 감싸서 선언해주었다. SwiftUI의 컴포넌트는 일반적으로 Struct단위로 구성되어 사용되는데 Struct 내에서는 값이 변경이 ..

SwiftUI 2021.03.30

[iOS, macOS] PromiseKit

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

macOS 2021.03.23

SwiftUI 사진 가져오기(3)

swiftUI 사진 가져오기(1) swiftUI 사진 가져오기(2) macOS macOS에서 프로젝트를 실행할 때 사용하는 소스코드이다. 앞서 말했듯이 Target을 OS에 맞게 설정하고 소스파일 제목 제일 끝에 "_(원하는 OS)"를 적으면 자동으로 인식한다. NSUIImage_macOS import AppKit import SwiftUI public typealias NSUIImage = NSImage extension NSUIImage { var data: Data? { //비트맵 이미지 데이터 return self.tiffRepresentation } static func image(fromData data: Data) -> Image { return Image(nsImage: NSImage(da..

SwiftUI 2021.03.20

SwiftUI 사진 가져오기(2)

이전 게시물 보기 MemeTextField.swift 위쪽과 아래쪽에 있는 Text컴포넌트의 UI를 꾸며주는 코드이다. import SwiftUI struct MemeTextField: View { @Binding var text: String var body: some View { TextField(text, text: $text) .multilineTextAlignment(.center) .lineLimit(nil) .foregroundColor(.black) .font(Font.system(size: 25, weight: .bold)) .textCase(.uppercase) } } @Binding 어노테이션을 사용하여 text 변수를 사용하였는데 이렇게 지정한 이유는 여러개의 뷰에서 동시에 Stat..

SwiftUI 2021.03.19

SwiftUI 사진 가져오기(1)

[참조] Document-Based Apps Using SwiftUI SwiftUI makes it easier than ever to create document-based apps that work with the iOS document interaction system. In this tutorial, you'll learn how to create a SwiftUI document-based meme-maker app. https://www.raywenderlich.com/14971928-document-based-apps-using-swiftui#toc-anchor-013 개요 xCode의 multi-platform 프로젝트를 사용해서 swiftUI를 통해 해당 디바이스의 사진에 접근해서 새로운..

SwiftUI 2021.03.17

[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
반응형