swift(37)
-
SwiftUI Property Wrapper
@State@Bingding@StateObject@ObservedObject@EnvironmentObject@Environment@StateSwiftUI View 내부에서 사용되는 간단한 값 타입(Bool, String, Int 등)을 저장하고, 그 값이 변경될 때마다 뷰가 재렌더링되도록 하는 속성 래퍼.뷰 전체의 “상태(state)”라고 생각할 수 있으며, 해당 뷰에서만 유효합니다.@State는 구조체 기반의 View에서 내부적으로 값을 감싸고 있습니다.값이 변경되면 자동으로 View가 새롭게 그려집니다.다른뷰에서는 관찰할 필요가 없는 경우에 사용합니다.struct MyView: View { @State private var isSheetPresented: Bool = false var bo..
2025.01.30 -
가치와 원칙에 대해서
TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creol..
2024.04.15 -
Swift에서 크래시안나게 하는 습관
Swift에서 크래시를 안나게 하는 네가지 습관 Optional(옵셔널)을 Optional 답게 먼저 바로 ! 강제 옵셔널 옵셔널을 잘쓰면 문제없다. 하지만 불편한경우가 있다 그런경우 !을 쓰게된다. as!, try!, IBOutlet ~~ UILabel!, 언랩에 관련된 !는 코드에서 존재하지 않아야한다. 50% 이상으 크래쉬가 거기서 나타난다. 묵시적언랩 일경우에는 내부적으로 옵셔널이 아닌걸로 가정하고 하고있지만 보장할순없다. IUO(옵셔널 묵시적 추출) 강제추출과 같다. var num: Int! = 4 타입에 ! 를 붙힌것이 IUO다 .. 그냥 강제추출... 코드에서는 !를 완전히제거 해달라 이렇게하면 크래쉬가 50%는 없어진다.어레이에서 인덱스를 접근할때 어레이의 카운트를 바운즈를 체크하지않으면 ..
2024.04.15 -
ARC
ARC Swift 는 자동 참조 카운팅(ARC)을 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. 자동으로 메모리를 관리해주는 방식입니다. 개발자가 메모리 관리에 신경을 덜 쓸 수있게 편리하게 해준다. 더이상 필요하지 않는 클래스의 인스턴를 메모리에서 해제하는 방식으로 동작합니다. ARC 어떻게 동작해요? 새로운 class인스턴스 생성할때마다, ARC는 해당 인스턴스의 정보를 적재하기 위해 메모리의 chunk를 할당한다. 이 메모리는 인스턴스 타입에 대한 정보를 해당 인스턴스와 관련되어 저장된 프로퍼티들의 값을 함께 포함 하여 유지합니다. 인스턴스가 더이상 필요하지 않게 될때, ARC는 해당 인스턴스에 의해 사용되는 메모리를 해제하고 해제된 해당 메모리는 다른 목적을 위해 사용될 수 있습니다. 클래스..
2024.01.08 -
ISP: 인터페이스 분리 원칙
- 인터페이스는 클라이언트가 사용하지 않는 메서드에 의존하면 안된다! - 한 인터페이스가 너무 많은 기능을 포함하지 않도록 하는 것을 목표로 하며, 각 클라이언트는 자신이 사용하지 않는 메서드에 영향을 받지 않아야 합니다. - 큰 덩어리의 인터페이스들을 구체적으로 작은 단위들로 분리시켜 클라이언트들이 꼭 필요한 메서드만 사용할 수 있게 해야 함 - 목적은 결합도를 낮추고, 유연성과 확장성을 높이기 위해 사용하기 위해 - 간단한 예 - UITableViewDataSource, UITableViewDelegate의 분리 - 하나만 쓰는경우도 있으니깐? 분리를 잘했다. - 일단 Swift에서는 POP로 통한다 가즈아! POP - POP를 제대로 하기 위해서는 ISP를 제대로 이해하고 습관화 해야함 - 고전적인..
2023.12.03