일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxSwift
- memory safety
- Automatically manage signing
- 메모리 접근 충돌
- UICoordinateSpace
- swiftdocs
- RxCocoa
- iOS 버전 점유율
- rib
- coordinateSpace
- Ribs
- windowScene
- 로버트마틴형
- RIBs Tutorial
- 클린아키텍쳐
- 대머리깃허브
- Git Large File Storage
- Github file size
- conflicting access to memory
- App Signing
- ios
- Dispatch.main.sync
- SWIFT
- Concurrent
- in-out
- Apple Certificate
- Dependency Rule
- iOS Target
- 잡초가득블로그
- Large File Storage
- Today
- Total
목록카테고리 (70)
빙수왕의 개발일지
많은 이유가 있겠지만 .. 에러메세지는 지금 생각이 나지 않지만 계속 실패했다. 에러메세지도 이상했는데 뭐였지..... 하여튼 뭔가 내 문제와 관련 없어보이는 메세지였음 그냥은 항상 잘 됐는데 엔터프라이즈만!!! 실패했다... 그리고 정말 생각지도 못한 이유 때문이였다 ㅠ_ㅠ 결론은 이유는 앱 이름이 한글이고 그걸 아래처럼 Display Name을 바꿔서 적용해서였다. 이걸 바꾸면 PRODUCT_NAME이 바뀌게 되는데 PRODUCT_NAME을 여기저기서 불러서 쓰고 있었기 때문에 여기에 한글이 들어가면 안되는거였다. 이렇게나 많은곳에서.... 그럼 어떻게 이름을 한글로 세팅하냐? 바로 info.plist의 bundle display name을 바꿔주면 된다. 찾아보니 CFBundleDisplayName..
유투브 영상을 보고 좋은 것 같아서 여기에 메모해놓는다.. www.youtube.com/watch?v=bYTPGoqmqZs 1. 일상적인 행동(앵커라고 함) 뒤에 내가 하고싶은 습관을 잇는다. ex) 똥을 싸는 행동(앵커) - 윗몸일으키기 2회. 똥을 싸고나면 무적권 윗몸일으키기 2회를 해야 함. ex) 침대에 앉으면(앵커) - 엑스코드를 켜서 코드 한줄을 입력한다. 2. 하고싶은 습관은 이래도 되나 싶을정도로 매우매우 작게.. 3. 하고나면 칭찬한다. ex) 배를 두들기며 잘했어!!!! 외침.. 춤을춘다. 단걸 먹는다.
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..