일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- RIBs Tutorial
- UICoordinateSpace
- windowScene
- Large File Storage
- Dependency Rule
- in-out
- 클린아키텍쳐
- iOS 버전 점유율
- Dispatch.main.sync
- rib
- SWIFT
- swiftdocs
- coordinateSpace
- RxSwift
- 메모리 접근 충돌
- Apple Certificate
- conflicting access to memory
- 잡초가득블로그
- Concurrent
- App Signing
- Automatically manage signing
- Github file size
- 대머리깃허브
- memory safety
- iOS Target
- 로버트마틴형
- Ribs
- Git Large File Storage
- ios
- Today
- Total
목록전체 글 (68)
빙수왕의 개발일지
UIView를 보면 layer 프로퍼티가 있다. 이건 CALayer의 객체인데, CALayer의 CA는 Core Animation의 약자이다. * 여기서 잠깐: 우리가 뭐 쓸때 보면 CGColor, CALayer, UIView.... 이런것들이 있는데 여기서 CG CA 이런건 프레임워크의 이름에서 따온 약자이다. CG: Core Graphics -> CA: Core Animations -> UI: UIKit 순서대로 높은 등급이고, 이는 즉 사용하기 쉽다는 뜻이다. 예를들어, 우리가 고급언어라고 하면 사람이 이해하기 쉬운거, 저급언어라고 하면 컴퓨터가 이해하기 쉬운거.. (010101010....)이지 않는가?? 이런거처럼 UIKit도 우리가 사용하기 쉬운 대신에,, 누군가 CA의 기능들 중에서 사람들이..
사건의 발단 enum에서 CustomStringConvertible을 준수하기 위해 var description을 만들어주었음 -> 에러 발생 stored property(저장 프로퍼티)를 enum에 넣을 수 없다는 에러가 남.. *(enums must not contain stored properties) 그치 맞지. stored property는 enum에서 만들 수 없다. 근데 찾아보니 다른놈들은 잘만 enum에서 CustomStringConvertible을 준수하고 description도 써줬다. 알고보니 var description = "aaa" 이렇게 저장프로퍼티로 구현하고있었다.ㅎㅎ.. 다른사람들은 var description: String = { "aaa" } 이렇게 해줌. 새로 알게된 점..
문제상황: 테스트폰1에서 잘 보이던 imageView 아이콘이 테스트폰2에서는 안보였다.. 그래서 테스트폰3으로 했는데 이것도 보이지않았다! 이유: 알고보니 시스템 아이콘을 사용해서였다.. 디자인가이드가 아직 나오지 않아서 그냥 이미지 눌러서 아무 아이콘이나 클릭해서 사용했는데.. SF Symbols라는 이 아이콘들은 iOS 13 이상의 기기부터 제공되는 아이콘이였다.. 아래 링크에서 내용 확인 가능 https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ SF Symbols - SF Symbols - Human Interface Guidelines - Apple Developer SF Symbols SF Symb..
제곧내 아래같은 코드가 있다고 가정하자. required init에서 currentPage = 0을 세팅해줬다. 그럼 변수 currentPage의 didSet이 호출될까? 안된다. class TipViewModel: ViewModel { var currentPage: Int = 0 { // 현재 페이지 didSet { // 내용 } } required init() { currentPage = 0 commonInit() } func commonInit() { } 그럼 currentPage = 0을 commonInit()으로 옮기면 호출될까? 된다요. 그래서 값 초기화와 동시에 didSet을 호출해주고 싶다면 commonInit()을 만들어주고 거기서 실행시켜야 할 듯 하다.
응 없어 MVVM 패턴에서 UICollectionView의 cell에 viewModel을 주입하는 방법이 혹시 없을까 고민을 했다.. 셀을 그릴 때 마다 viewModel을 넣는거 말고 init할 때 최초 한번만 실행되는거를 원했는데 * Cell을 xib와 swift파일을 만들어서 따로 빼놓은 상태였다. https://stackoverflow.com/questions/47842034/how-can-i-use-a-custom-initializer-on-a-uitableviewcell How can I use a custom initializer on a UITableViewCell? I have a custom UITableViewCell and I'd like to use it in my table vi..
함수에서 파라미터 Bool일 때 .. 처음에 아래처럼 쓰고 맘에 안들어서 이것저것 찾아봤음. // cell 안의 내용 차례로 fade in / out func animateContents(isOpen: Bool = true) { 스택오버플로우를 참고해서 이렇게 바꿈 작업 내용을 함수에 써주고 argument label은 와일드카드 패턴으로 대체하는게 깔끔한 것 같다. // cell 안의 내용 차례로 fade in / out func animateOpening(_ isOpen: Bool = true) { https://stackoverflow.com/questions/44906267/swift-argument-labels-naming-convention Swift: Argument labels naming..
클로져에서 [weak self] _ in guard let self = `self` else { return } 이런 코드 발견 왜 `self`라고 쓸까? 백틱 없이 self라고 써도 되는데? 여기 나와 같은 고민 https://stackoverflow.com/questions/50119484/self-in-swift-closure `self` in Swift closure I want to understant self in Swift closure. For Ex - () -> Void = { [weak self] in guard let `self` = self else { self.callMethod2() } self.callMethod3() } Why we use stackoverflow.com `(..
기본 init을 private로 바꾼다.