Xcode 16 릴리스 노트를 보다가...새롭게 알게 된 내용이 있어서 간단히 정리!! # Typed throws그냥 한마디로enum MyError: Error { case invalid}func foo() ➡️throws(MyError)⬅️ -> String { ... }이런식으로 throws할 때 에러 타입을 지정할 수 있게 되는 것 같다. 위 foo메소드는 String을 리턴하거나, 오직 MyError타입의 에러만 throw할 수 있다. enum OtherError: Error { case 저쩌구} func foo() throws(MyError) -> String { do { try ~~~~~~ } catch { throw OtherErr..
오.... Run, Break, Inspect: Explore effective debugging in LLDB 을 보면서 처음알았던 사실이 있어서 메모해둔다. 다 breakpoint관한 내용임 # Breakpoint대충 이런코드가 있다고 생각해보자. Button의 생성자 쪽에 breakpoint를 걸어놨으므로 Button이 생성될 때 프로그램이 멈추면서 걸릴것이다.이렇게!위 코드는 Hello, world!라는 Button을 누르면 someMethod가 실행되는데, 버튼을 한번 눌러보겠다!!!그럼 이렇게 breakpoint가 걸린다.여기서 궁금증이 들 수 있는데, 20번째 라인에 breakpoint를 걸어놨는데 왜 21번째 라인에서도 걸린것인가? 이다. Run, Break, Inspect: Explor..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ETxhd/btsF04B0tP5/XKJkoW2a0Z2XqipwnVwdh0/img.gif)
Core Motion관련해서 테스트해보고 싶은게 있어서 1. 프로젝트를 새로 만들고 2. 동작 및 피트니스 권한 요청을 하고 3. 걸음수 가져오기 4. 시뮬레이터 아니고 실 디바이스에서 빌드 대충 이런식으로 했는데, 권한 부분을 다시 테스트해보고싶어서 1. 앱을 삭제했다가 2. 다시 빌드해서 설치 3. 동작 및 피트니스 권한이 계속 동의된 상태로 설치되는것이다...?? 뭐지..하고 다른 앱도 설치해봤는데 동일한것이다. (폰을 재부팅해도 권한이 유지됐음) e.g. 왜 이런 현상이 발생하는지 잘 모르겠다. (캐싱이 되나;?) 다른 앱은 모르겠고..일단 내 테스트앱이라도 초기화할 수 있는 방법이 없나?; 하고 찾아봤는데, 나한테 효과가 있는 방법을 찾았따 Xcode > Window > Device and Si..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/26bXo/btsCZhQ3MhS/bPRoUyV7ptNlamJ42BL930/img.png)
precondition을 얼마전에 처음 봤는데, 그 때 쓰기 시작한 글을 마무리를 못했네여 설날 기념으로 마무리해서 발행쓰 # assert Debug configuration에서 오류가 생기면 치명적일 것인 곳에 심어 놓는 에러 검출용 코드이다. 즉 Release configuration에서는 아무 영향을 주지 않는다. func assert( _ condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String = String(), file: StaticString = #file, line: UInt = #line ) ------ [사용법] assert(false) assert(1 + 1 != 2, "assert message") 이 con..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bsBYqv/btsELo7K3pH/x8iR47BdrzzDxWsk7QpKX1/img.jpg)
# isAccessibilityElement element가 접근성 요소인지 여부를 나타내는 Bool값 UIKit control이 아닌경우 기본값은 false - UIControl을 상속받고 있는 UIButton같은것들 ➡️ 기본값 true - UIView나 UIImageView같은것들 ➡️ 기본값 false 이런경우 기본적으로 UIButton에만 접근성 요소로 잡힐것이다. 이때, 바깥의 주황색 View에도 접근성 요소에 포함하려면, self.myView.isAccessibilityElement = true self.myView.accessibilityLabel = "적절한 accessibilityLabel" isAccessibilityElement 프로퍼티를 true로 만들어주면 된다. UIView에 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Cwy6P/btsCU0agk24/zG8kK7e6RYGUkjMHABgOLK/img.jpg)
2018년 회고와 2019년 다짐 2019년 회고와 2020년 다짐 2020년 회고와 2021년 다짐 2021년 회고와 2022년 다짐 2022년 회고와 2023년 다짐 올해에는 진짜 한게 없는 것 같았는데, 또 되돌아보니 이것저것 했고, 도전하고, 절망도하고.. 여러가지 경험들을 한 것 같다. 이렇게 한 해를 돌아보는 시간이 있기에 내년이 더 반갑게 느껴지고 시작의 설레임이 배가 되는 듯한 느낌! # 운동 작년에 10kg를 감량했으니 조금 더 욕심내가지고 총 20kg..아니 15kg 감량까지도 해보고싶었는데, 약 12kg에서 그쳤다. [2022년 7월 1일 건강검진] [2022년 12월 14일 헬스장] [2023년 8월 8일 건강검진] 최근에는 인바디를 안재서.. 지표가 없긴 한데, 대충 비슷할거라고 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/AnlAT/btsBOgrZjJ9/K7c2nrQ1VszZ1pMF48KyU0/img.jpg)
옛날에 PHPicker관련해서 쓴 것들 왜이렇게 헷갈리지.. # 권한 필요없음 기본적으로 사진을 단순 Read하기 위해서는 사진 접근 권한이 필요없음 (= PHPicker를 띄우기 위해서는 권한이 따로 필요없음) PHPicker를 띄우면 왼쪽 그림처럼 안내 텍스트가 보일거고, 설정에 가면 오른족 그림처럼 비공개로 접근으로 뜰 것이다. 이 앱은 사용자의 사진 보관함을 표시할 수 있지만, 오직 사용자가 선택한 항목에만 접근할 수 있습니다. 그러니까.. PHPicker를 띄웠으면 모든 사진/비디오 같은것들이 나올텐데, 이런것들에 앱(코드로)이 접근 못하고 내가 선택하고 추가한 것들에만 접근 할 수 있다는 뜻 암튼 이 PHPicker를 띄우고, PHPicker가 모든 Asset들을 보여주는것에 대해서는 따로 권..
- swift delegate
- Xcode
- UIBezierPath
- actor
- 피아노
- WidgetKit
- 스위프트
- IOS
- WKWebView
- fastlane
- swift array
- Combine
- np-complete
- np-hard
- swift 공부
- 스위프트 문법
- github
- WWDC
- SwiftUI
- FLUTTER
- Git
- iOS delegate
- swift tutorial
- swift sort
- ios 13
- swift3
- Swift
- 제이슨 파싱
- Accessibility
- 회고
- Total
- Today
- Yesterday