Errors - Throwing Errors, Handling Errors, Results
·
SwiftUI
내가 원하는 에러를 직접 만들어 throw 로 해당 에러를 받을 수 있다enum Errors: Error { case OutOfStock}struct Stock { var totalLamps = 5 mutating func sold(amount: Int) throws { if amount > totalLamps { throw Errors.OutOfStock } else { totalLamps = totalLamps - amount } }}var mystock = Stock() 이제 throws 함수를 만들었으면 해당 throw된 error를 받을 수 있어야한다. 아래 do-catch 로 error를 처리할 수 있다. 하지만 catch ..
Image Renderer
·
SwiftUI
ImageRenderer는 SwiftUI 뷰로부터 이미지를 생성하는 객체다. 만약 그래픽 또는 복잡한 뷰를 생성하기 위해서 해당 그래픽 또는 뷰를 다시 사용하기 위해서 다시 생성하는 것보다 파일이나 데이터베이스에 저장하는 것이 더 효율적이다. 이런 상황을 위해서 view를 image로 변환할 수 있다. SwiftUI는 ImageRenderer 를 이런 목적으로 포함시켰다.위에서 말한 Image는 3가지 종류가 있다 UIKit의 UIImage, Core Graphics의 CGImage, AppKit의 NSImage view를 iamge로 변환하기 위해서 먼저 view를 프로퍼티에 저장해야 한다. 아래 코드에서 newPicture에 뷰를 저장한다. 그리고 버튼을 눌렀을 때 ImageRenderer를 사용하여..
Effect (scaleEffect, rotation3DEffect)
·
SwiftUI
scaleEffect는 크기를 결정하는 Effect다..scaleEffect(CGSize(width: roll ? 1.0 : 1.5, height: roll ? 1.0 : 1.5), anchor: .leading)  rotation3DEffect 이란 지정된 축을 중심으로 3차원으로 회전하는 것처럼 뷰의 콘텐츠를 렌더링합니다.angle: 어디로 회전을 할지 결정axis: 세 가지 공간 차원 각각에 대해 명명된 요소가 있는 튜플로 지정된 회전 축.-X축 (수평)을 통해서 뷰를 기울이면 위에서 아래로 회전-Y축 (수직)을 통해 뷰를 기울이면 왼쪽에서 오른쪽으로 회전-Z축 (깊이)를 통해 뷰를 기울이면 왼쪽에서 오른쪽으로 회전anchor: 회전을 수행할 수 있는 뷰 내의 2차원 단위 지점. 기본값은 중심(.c..
animations
·
SwiftUI
swift에서 애니메이션을 만들기 위해서는 withAnimation(Animation, Closure) 함수를 사용해야 합니다. 이 함수는 애니메이션을 수행하게 하고 결과를 반환합니다. 첫번째 인수로 들어가는 값은 어떤 타입의 애니메이션을 사용할지를 결정하는 것입니다. 만약 무시하려면 default(기본값)으로 설정하면 됩니다. 두번째 인수로 들어가는 것은 Closure로 우리가 애니메이션을 시키고 싶은 내용을 정의하는 곳입니다. animation을 이용하면 effect을 사용하여 애니메이션을 시킬 수 있습니다.animation는 default, easeIn, easeInOut, easeOut, linear 이 있으며 nil을 넣어서 바로 중단시킬수도 있습니다.  아래 코드에서는 .scaleEffect(..
Gradient
·
SwiftUI
Gradient를 사용하면 여러개의 색을 합성하여 그라데이션 효과를 줄 수 있다. LinearGradient var color1 = Color(Literal()) var color2 = Color(Literal()) var body: some View { VStack { RoundedRectangle(cornerRadius: 30) .fill(LinearGradient(gradient: Gradient(colors: [color1, color2]), startPoint: .top, endPoint: .bottomTrailing)) ...
Extensions
·
SwiftUI
Extension은 클래스와 구조체 뿐만 아니라 라이브러리 또한 확장시켜 원하는 기능을 추가하여 사용할 수 있다.아래 예제 코드는 Int에 printdescription을 추가하여 원하는 print문을 출력할 수 있는 기능을 추가한 것이다.extension Int { func printdescription() { print("The number is \(self)") }}let number = 25number.printdescription() // "The number is 25" 아래 예제에서는 Employees에 printbadge를 추가하는 것이다.struct Employees { var name: String var age: Int}extension Employees { ..
ytw_developer
'분류 전체보기' 카테고리의 글 목록 (56 Page)