본문 바로가기

반응형

분류 전체보기

(65)
swift 고차함수 알아보기1(map, filter, reduce) 사실 고차함수에 대해서 알아보게 된 것은 swift 함수형 프로그래밍을 공부하다가 연관이 있기 때문에 넘어오게 되었다. 고차함수란? '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'라고 한다. 스위프트에서 함수는 일급객체(일급시민)이기 때문에 함수의 전달인자로 전달할 수 있으며, 함수의 결과값으로 반환할 수 있다. 여기서 나오는 일급객체는 무엇인가?? https://declan.tistory.com/45 swift에서 일급 객체란? 알아보기 공부를 하다보면 모르는 용어가 있다. 이러한 용어들을 한번쯤은 정리하고 간다면 도움이 될 것 같다. 일급 객체란?? 다음과 같은 조건을 만족시킨다면 1급 객체라고 한다. 변수나 상수에 저장과 declan.tistory.com 오늘은 스위프트 표..
swift에서 일급 객체란? 알아보기 공부를 하다보면 모르는 용어가 있다. 이러한 용어들을 한번쯤은 정리하고 간다면 도움이 될 것 같다. 일급 객체란?? 다음과 같은 조건을 만족시킨다면 1급 객체라고 한다. 변수나 상수에 저장과 할당이 가능해야 한다. 함수의 매개변수로 사용이 가능하다. 함수(객체)에서 return이 가능하다. 다음과 같은 특징은 함수가 가지고 있고 가장 중요하게 사용되는 것 같다. 때문에 예시를 한번씩 들어보며 익혀보면 좋겠다는 생각이 들었다. 1. 변수나 상수에 저장과 할당이 가능하다. func getAge() -> Int { return 10 } var myAge = getAge() print(myAge) //10 //할당 var inputAge = getAge print(inputAge) // (Function) va..
swift uikit preview(미리보기) 띄우기 코드로 UI를 작성하다보면 스토리보드랑 다르게 빌드를 해야만 볼 수 있어 불편한 점이 많았다. 그러한 불편한 점을 해결하기 위해서 SwiftUI의 Preview기능을 가져오면 쉽게 확인이 가능하다. (그냥 코드를 복사해서 가져다 쓰면 된다) extension UIViewController { private struct Preview: UIViewControllerRepresentable { let viewController: UIViewController func makeUIViewController(context: Context) -> UIViewController { return viewController } func updateUIViewController(_ uiViewController: UIV..
swift label 행간 늘리기 프로젝트를 하다 보면 디자이너의 요청대로 행간(줄 사이의 공간)을 조절해야 할 때가 있다. 피그마에 다음과 같이 행간을 조절하라는 예시 코드가 나와있다. 이걸 완성해 보도록 하겠다. let paragraghStyle = NSMutableParagraphStyle() paragraghStyle.lineHeightMultiple = 1.23 let titleAttrString = NSMutableAttributedString(string: diaryTitleLabel.text ?? "") titleAttrString.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraghStyle, range: NSMakeRange(0, titleAttrSt..
swift enum CaseIterable, map 알아보기 enum에 CaseIterable이라는 프로토콜이 있다. 공식문서에는 A type that provides a collection of all of its values. 모든 값의 컬렉션을 제공하는 형식이라고 나타나있다. 한마디로 CaseIterable을 붙임으로써 열거형의 값들을 배열 같이 순회활 수 있도록 해주는 프로토콜이다. 간단한 예시부터 어떻게 사용할 수 있을지 고민해보도록 하겠다. enum colorCase : CaseIterable { case white case black } for i in colorCase.allCases { print(i) } enum diaryCase : CaseIterable { case aloneDiary case commentDiary case notDiaryD..
swift 에러) this class is not key value coding-compliant for the key 개발을 하다가 다음과 같은 에러가 나타났다. this class is not key value coding-compliant for the key 의미를 파악하면 이 클래스는 키에 대한 key value coding과 호환되지 않는다. 찾아보니 내가 리펙토링을 하면서 필요없는 ViewController인줄 알고 지웠다가 사용하고 있는 ViewController였다. ViewController를 다시 살려주니 해결되는 간단한 에러였다.
SwiftUI FocusState 알아보기 FocusState는 iOS 15에서 새롭게 생긴 아지 나름 따끈따근한 프로퍼티 래퍼이다. A property wrapper type that can read and write a value that SwiftUI updates as the placement of focus within the scene changes. scene 내에 포커스 배치가 변경될 때 SwiftUI가 업데이트하는 값을 읽고 쓸 수 있는 프로퍼티 https://developer.apple.com/documentation/swiftui/focusstate Apple Developer Documentation developer.apple.com 어떻게 사용할 수 있을까? 공식문서를 보면 TextField에서 포커스를 제거하거나 키보드..
SwiftUI ForEach SwiftUI는 ForEach라고 하는 전용 뷰 타입을 제공해준다. 반복해서 뷰를 만들기 위해 가장 많이 사용하는 방법이다. 공식문서를 보면 다음과 같이 나타나 있다. A structure that computes views on demand from an underlying collection of identified data. 식별된 데이터의 컬렉션에서 요청 시, 뷰를 계산하는 구조체 ForEach는 루프를 돌면서 한 번의 클로저를 계속해서 실행한다. struct ForEachPractice: View { var body: some View { Form { ForEach(0..

반응형