- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- barplot
- struct
- ReLU
- NVL
- grep
- MVC
- ios
- SQL
- tapply
- Upper
- Python
- deeplearning
- 명령어
- SWIFT
- 연산자
- trunc
- 딥러닝
- substr
- delegate
- 시각화
- Linux
- cocoapods
- r
- decode
- sigmoid
- Optional
- swiftUI
- Observable
- rxswift
- scheduledTimer
목록전체 글 (116)
iOS 개발 기록 블로그
에러 상황final class StepView: UIView { // MARK: - Properties private var isFitnessAuthorized: Bool // MARK: - Initializer override init(frame: CGRect) { super.init(frame: frame) self.setupView() self.bindView() self.isFitnessAuthorized = PermissionManager.getPedometerAuthStatus() } // MARK: - Setup View private func setupView() { ..
https://github.com/ReactorKit/ReactorKit/tree/master/Examples/Counter/Counter ReactorKit/Examples/Counter/Counter at master · ReactorKit/ReactorKitA library for reactive and unidirectional Swift applications - ReactorKit/ReactorKitgithub.comCounter 예제와 같이 봅니다. ReactorKit에서 @Pulse는 특정 상태 변화를 옵저빙(감지)하기 위해 사용되는 프로퍼티 래퍼입니다. @Pulse를 사용하면 특정 상태 값이 변경될 때만 옵저버가 트리거됩니다. 이는 주로 일회성 이벤트나 특정 상태 변화에 반응하는 경우에..
🧑💻 코드 import SwiftUI public struct SampleView: View { @State var title: String = "Hi, guys" @Environment(\\.presentationMode) var presentationMode: Binding public var body: some View { VStack { Text(title) .font(.system(size: 26, weight: .bold)) .foregroundColor(.black) .padding() NavigationLink { BaseWebView(url: "") } label: { Text("구글 웹사이트") .padding() } Spacer() } .navigationBarTitleDisplay..
https://developer.apple.com/documentation/swiftui/view/navigationbartitledisplaymode(_:) navigationBarTitleDisplayMode(_:) | Apple Developer Documentation Configures the title display mode for this view. developer.apple.com 🚨 문제 SwiftUI에서 네비게이션바를 커스텀하기 위해 백 버튼을 숨기고 아래에 뷰를 작성하면 네비게이션바와 본문 뷰 사이에 알 수 없는 여백이 있는 경우가 있습니다. .navigationBarBackButtonHidden() 🧑💻 코드 public struct SampleView: View { @State..
🌁 배경 SwiftUI에서 NavigationLink를 활용해서 View를 Push하는 경우 NavigationLink { SampleView() } label: { Text("Push Sample View") } 아래 이미지처럼 네비게이션바 topLeading 위치에 뒤로가기 버튼이 자동으로 노출됩니다. 이를 없애고 네비게이션바를 커스텀해주고 싶을때 아래 코드를 사용해서 뒤로가기 버튼을 지울 수 있습니다. .navigationBarTitleDisplayMode(.inline) .navigationBarBackButtonHidden() 🚨 문제 발생 그런데 이때 문제가 발생하는데 뒤로가기 스와이프 제스처가 동작하지 않는다는 것입니다. ✅ 해결 방법 아래 extension만 추가해주면 정상적으로 뒤로가기 ..
https://developer.apple.com/documentation/swiftui/presentationmode PresentationMode | Apple Developer Documentation An indication whether a view is currently presented by another view. developer.apple.com NavigationBar에 topLeading 위치에 toolbar로 뒤로가기 이미지를 추가한 후 버튼 이벤트를 간단히 추가하는 방법이 있습니다. import SwiftUI public struct SampleView: View { @State var title: String = "안녕하세유, 반가워유" @Environment(\.present..
SOLID 원칙이란 아래 다섯가지 원칙들의 앞글자를 따서 만든 용어를 말합니다. 단일 책임 원칙 (Single Responsibility Principle - SRP): 이 원칙은 하나의 클래스나 모듈은 단 하나의 주요한 책임을 가져야 한다는 뜻이에요. 예를 들어, 만약 우리가 과일을 판매하는 가게에서 일한다면, 과일을 팔고 가격을 계산하는 것이 우리의 책임입니다. 그런데 이 외에도 고객 정보를 관리한다거나 배송을 담당한다면 이 원칙에 어긋날 수 있겠죠. 개방/폐쇄 원칙 (Open/Closed Principle - OCP): 이 원칙은 코드를 수정하지 않고도 새로운 기능을 추가할 수 있도록 해야 한다는 원칙이에요. 기존 코드를 바꾸지 않고도 새로운 부분을 확장하거나 변경할 수 있으면 유용하겠죠. 리스코프..
예를 들어 위와 같은 화면에 버튼이 있다고 생각해보자. 기본적으로 "선택하기" 부분만 클릭이 되고 나머지 백그라운드 부분이 클릭되지 않는다. 이 경우에 아래와 같이 하면 백그라운드 영역도 클릭이 가능하게 된다. struct ChooseButtonView: View { var body: some View { Button(action: { print("Tapped the Button!") }, label: { Text("선택하기") .frame(maxWidth: .infinity) .padding() .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(12) .padding(.horizontal, 20) }) } } Button을 타이..
navigationBarItems 네비게이션 바 아이템을 여러개 쓰면 아이템끼리 간격을 조절하고 싶을 경우가 있다. 이때 아래와 같이 "imageInsets" 프로퍼티를 조정해서 쓰면 된다. // adjust right navigationBarItems space self.yourButtonName.imageInsets = UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 0) yourButtonName을 왼쪽으로부터 15만큼 떨어지게 한다. Inset() 하면 괄호 안에 숫자만큼 간격을 두는 것. Apple Developer Documentation developer.apple.com
Observable이라는 신문을 구독하고 있는 구독자(Subscriber)이 있다고 생각한다. Subject는 Observable에 흐르는 event를 받아 구독자에게 전달한다고 보면 된다. 종류 Publish Subject Behavior Subject Replay Subject Variable BehaviorRelay PublishSubject let subject = PublishSubject() subject.onNext("Issue 1") subject.subscribe { event in print(event) } subject.onNext("Issue 2") subject.onNext("Issue 3") subject.dispose() //subject.onCompleted() subject..