일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- url
- Protocol
- Class
- optional
- Swift
- 디자인패턴
- Terminal
- Unicode
- Foundation
- String
- initializer
- interpace
- type
- extension
- instance
- property
- 스위프트
- delegate
- UIKit
- enum
- 이니셜라이저
- Xcode
- struct
- init
- tuist
- Git
- initalizer
- 코딩테스트
- IOS
- Method
- Today
- Total
목록전체 글 (78)
아리의 iOS 탐구생활

UIView 요소를 코드로 직접 커스텀하여 사용하기 위해 만들던 와중에 override 이니셜라이저와 required 이니셜라이저, 총 2개의 이니셜라이저를 정의해야한다는 것을 알게되었다. override init(frame: CGRect) { super.init(frame: frame) } required init(coder: NSCoder) { super.init(coder: coder) } 근데 이 둘의 정체는 뭘까..?? 왜 재정의하며 파라미터로는 각각 다른 타입을 받고있는데, 어떤 것을 초기화하는 것일까? 한번 알아보자. # init(frame:) Apple Developer Documentation developer.apple.com 코드로 UIView Class의 View 인스턴스를 만들기 ..

안녕하세요. 아리입니다. 🐥 어느날 프로젝트를 하고 있는데, 리뷰어 엘림에게 이런 피드백을 받았습니다. 개발자에게만 어떤 에러가 발생했을 때 알려주기 위해 print문을 사용했었는데, 따로 프로그래머에게만 보여지는 전용 print문이 있더군요. log, assert, debugPrint 등이 있는데 그중 OSLog라는 애를 배워볼겁니다. 그 이유는 사용하기는 조금 어렵고 번거롭지만, 추후 로그를 통해 데이터를 관리하기 수월해지기 때문입니다. 아직 제가 하고 있는 프로젝트에서 log까지는 필요없다고 판단되었지만 한번 써먹어보며 배워볼겸 정리해보았습니다. 시작해볼까요? # OSLog란? Apple Developer Documentation developer.apple.com 과거의 데이터를 읽기 위한 통합 ..

최신 커밋이 아니라 이전 커밋들을 수정하려면 interactive rebasing을 활용하면 된다. 대신 이전 커밋을 수정하게 된다면 그 커밋 이후에 생긴 커밋들도 모두 업데이트가 되 그점을 유의해야 한다. git rebase -i 12345ab 위와 같이 -i 옵션을 사용하여 수정을 원하는 커밋 이전 커밋의 해시코드를 넣어주면 그 다음에 이어지는 모든 커밋들이 나와있는 걸 확인할 수 있다. 위와같이 커밋들이 표시가 되는데, 아래에 메세지들을 살펴보면 다음과 같이 명령어들이 정리되어있다. # Rebase 98955fc..0ddd7ab onto 98955fc (4 commands) # # Commands: # p, pick = use commit (이거 괜찮으니까 이거 써!) # r, reword = us..

테스트 주도 개발(Test-Driven Development TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화 된 테스트 케이스를 작성한다. 그런 후에 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링한다. -위키백과 테스트 주도 개발을 말 그대로 개발을 하는데에 있어서 테스트가 주가 된다는 하나의 개발 방법론이다. 먼저 테스트를 하면서 코드를 작성하고 그 후에 본 코드를 구현하는 방식이다. 테스트를 거친 후에 코드를 작성한다면 추후에 신경 써줘야할 많은 부분들에 대해서 해결을 하면서 코드를 작성할 수 있겠다. 하지만 TDD를 언제나 고집하기에는 번거롭고 생산성이 떨어지는..

Apple Developer Documentation developer.apple.com 새로운 ViewController 클래스를 만들게 되면 아래 prepare 메소드가 주석처리 되어있다. /* // MARK: - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // Get the new view controller using segue.destination. // Pass the selected object to the new..