
안녕하세요 : - )오늘은 제가 자주 사용하는 3가지 Extensions들을 소개하려 합니다 isNotEmpty혹쉬배열, 집합, 딕셔너리의 collection이 비었는지 확인하려면 어떻게 하시나요?isEmpty를 호출해서 사용하시나요????(count == 0은 아니라고 하셈 ,, 이유는 여기에 https://hyerios.tistory.com/27) 그렇다면 비지 않았는지 확인은 어떻게 확인하시나요?!isEmpty 이렇게 하시나요???(count != 0도 아니라고 하셈 ,,) extension Collection { var isNotEmpty: Bool { isEmpty == false }} 저는 collection이 비지 않았을 때를 확인하기 위해서위와 같이 Collectio..

안녕하세요! Xcode 활용하기 1에 이어서 2를 작성해보려 합니다 Xcode와 친해지기 어렵다 저는 PR올리고 코드리뷰받을 때 가장 민망한 것이 오타인데요 왜 코드 작성할 때는 안보였지? 왜 내 눈에 안 보여? 이런 경우 저만 있나요? 저와 동일한 경험을 했다면 이 기능 활성화 해보세요 먼저 Xcode들 클릭하고 메뉴를 확인하고 Edit을 선택해 주세요 Edit을 누르면 아래와 같이 나올 텐데 Format을 선택해 줍니다 Format을 누르면 아래와 같이 나올 텐데 Spelling and Grammar을 선택해 줍니다 그리고 Check Spelling While Typing을 선택해 줍니다 즉 Edit > Format > Seplling and Grammar > Check Spelling While T..

안녕하세요! 티스토리는 오랜만이네요 포스팅 자주 하겠다! 다짐했건만 바빠서 쉽지 않았던 (핑계) 오늘은 Xcode 활용법?에 관련해서 포스팅을 해보려 합니다 아무래도 직업이 개발자고 iOS 앱 개발을 하다 보니까 Xcode과 거의? 매일을 함께 하는데 막상 잘 활용하지는 못했던 것 같아요 마치 나랑 Xcode 관계 ㅇㅇ Xcode 활용하기 1 multi cursor에 대해서 알아봅시다 사실 이 기능은 이전 회사 멘토님이자 팀장님이 알려주셨던 기능이에요 그때 당시 오!!!! 이런게 있구나 싶었던 ㅎㅎㅎ 예를 들어 sourceLocation과 label이 상수로 선언되어 있는데 이 상수들의 access level을 internal에서 private으로 바꿔야 한다고 가정해 볼게요 (개발하면서 이런 경우 다 ..

안녕하세요 :) 블로그는 오랜만이네요. ㅇㅖ... 그동안 회사일에 치여 사느라 이제야 돌아왔습니다. 오늘은 스냅샷 테스팅에 대해서 포스팅해보려 합니다. 먼저 스냅샷 테스팅이 뭐냐? 스냅샷 테스팅은 UI 컴포넌트를 렌더링하여 스냅샷을 찍어두고 실제 결과와 저장된 스냅샷 파일과 비교하는 테스트 기법입니다. 현재 UI 스냅샷을 이전에 저장된 UI 스냅샷 이미지와 비교해서 두 이미지가 동일하면 테스트가 통과되고 두 이미지가 다르다면 테스트에 실패하게 됩니다. 스냅샷 테스팅 왜 하는데? 스냅샷 테스팅은 UI가 예기치 않게 변경되는 것을 막을 수 있습니다. 테스트를 위해 프로젝트를 하나 만들어줍니다. Podfile을 열어줄게요. pod 'SnapshotTesting' Podfile에 스냅샷 테스팅을 추가해 줍니다...

Fiddler Everywhere 아래 경로에 들어가서 Download Free Trial을 눌러줍니다. https://www.telerik.com/fiddler/fiddler-everywhere Email과 Country는 필수 항목이니 작성해줍니다. 그러면 dmg파일이 설치되는데 응용프로그램화 해줍니다. 피들러를 열어줍니다. 피들러 설정을 눌러서 포트 번호를 확인합니다. 8866 메모 다음 맥북 IP주소를 확인해줍니다. (IP주소 확인하는 방법은 시스템 환경설정 > 네트워크 에서 확인할 수 있습니다.) 여기까지 맥북에서 확인할 것은 끝났고 디바이스에서 HTTP 프록시를 구성해줍니다. 설정 > Wi-Fi 에서 내가 현재 연결되어 있는 Wi-Fi를 눌러줍니다. https://docs.telerik.com..

이것도 일하다가 발견한 ^^,,, 신기한 것 (아래 코드는 바로 직전 포스트 한 코드 재탕) class ViewController: UIViewController { private let slider: UISlider = { let slider: UISlider = UISlider() slider.translatesAutoresizingMaskIntoConstraints = false slider.minimumValue = 0 slider.maximumValue = 100 slider.value = 0 slider.addTarget(self, action: #selector(sliderValueChanged(sender:)), for: .valueChanged) return slider }() overr..

이전에 커스텀한 버튼을 만든 적이 있었는데요 저는 제약조건을 수정해서 확장시켰는데 깃을 보다가 Ale Patron이 분의 방식이 좋아 보여서 기록해놓으려 합니다. 기존 코드에서 맘대로 조금 수정을 했습니다. 버튼이 정중앙에 배치되어있는데 오른쪽 하단으로 옮겼고 색상을 변경했습니다. 버튼의 텍스트와 함수명을 변경했습니다. 버튼 사이즈 상수는 ButtonPanelView에서만 사용되고 있어 클래스 내부로 들고 왔습니다. (내부로 들고 오면서 접근 제어자 fileprivate에서 private로 변경했습니다) 프로토콜은 클래스만 사용할 수 있도록 class로 수정했습니다. 버튼에 쉐도우 레이어는 제거했습니다. 그럼 다시 시작. class ButtonPanelView: UIView { private let bu..
- Total
- Today
- Yesterday
- 독서
- 알고리즘
- 머신러닝
- 애니메이션
- RX
- swift5
- 책
- objective-c
- objc
- string
- stanford SwiftUI
- wwdc
- Algorithm
- 스위프트UI
- Animation
- 책 후기
- ios
- leetcode
- ReactiveX
- Xcode
- ARC
- swiftUI
- 문자열
- rxswift
- Deep learning
- 스위프트
- 책 추천
- SWIFT
- iOS SwiftUI
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |