
안녕하세요. 도미닉입니다. 오늘은 어트리뷰트 키워드(Attribute keyword)에 대해서 알아보겠습니다. 어트리뷰트 키워드란?@와 이름를 붙여서 컴파일러에게 추가적인 정보를 제공하는 키워드입니다. 어트리뷰트 키워드는 크게 두 종류로 나뉩니다.1. 선언에 추가 정보 제공클래스나 함수의 선언 위에 줄에 @와 이름을 적어서 컴파일러에 정보를 제공합니다.@available 키워드를 통해 MyClass의 선언에 추가적인 정보를 제공합니다. 2. 타입에 추가 정보 제공두번째로는 타입에 추가 정보를 제공할 수 있습니다.@escaping 키워드를 통해 () -> () 타입에 추가적인 정보를 제공합니다. 이러한 키워드를 통해 컴파일러는 해당 선언과 타입에 대한 추가적인 정보를 제공받아서 컴파일합니다. 어트리뷰트 키..

안녕하세요. 도미닉입니다. 오랜만에 기술 글을 작성하네요. Argument Label (아규먼트 레이블)에 대해서 정리하고자 합니다. Argument Label보통 함수를 작성할 때 아래와 같이 작성하게 됩니다. 간단한 a 와 b 라는 Int 형 파라미터를 전달받아서 Int 형 타입을 리턴하는 sum 함수입니다. 파라미터란?참고로 a, b 는 파라미터라고 설명을 드렸습니다. 정해진 타입과 이름을 지정하여 함수를 실행할 때 값을 전달 받기 위해 함수명 옆에 괄호 안에 지정하는 것이 파라미터입니다. 파라미터는 매개변수, 인자라는 이름으로도 불리웁니다! 인수란?sum(a: 3, b: 4) 라고 호출되는 부분에서 실제로 사용되는 3과 4는 인수라고 불리웁니다. 파라미터와 헷갈릴 수 있는데 구분해서 알고 있으면..

안녕하세요. 도미닉입니다. SwiftUI 로 첫 프로젝트를 완료해서 페이워치 리뉴얼 앱을 런칭했는데요. 거기서 겪었던 오류를 설명하고 해결책을 공유하고자 합니다. 오류 발견 크래쉬틱스에 아래와 같이 많은 오류가 발생했습니다. 고객센터로 들어온 문의를 보면 일부 유저에게 홈 화면에서 앱이 강제종료되는 문제가 있었습니다. 처음에는 크래쉬틱스에 있는 에러와 홈 화면에서 앱이 강제종료되는 이슈를 별개의 문제로 알았습니다. 크래쉬틱스의 자세한 내용을 살펴봐도 홈 화면과 연관성을 못 찾았기 때문입니다. 아래는 크래쉬틱스에 내용입니다. Fatal Exception: NSInternalInconsistencyException Attempted to scroll the collection view to an out-of..
안녕하세요. 도미닉입니다. 이 글은 최근에 바이럴된 https://www.steveonstuff.com/2022/01/27/no-such-thing-as-clean-code 의 번역 글입니다. 오역과 흐름을 위해 각색이 있을 수 있습니다. 참고해서 읽어주세요~ 깔끔한 코드란 없습니다. 요즘에 모든 사람들은 깔끔한(clean) 코드를 짜기 위해 노력하고 있는 것 같습니다. 블로그 포스트들을 읽다 보면 작성자가 자신의 접근 방식이 얼마나 깔끔한(clean)지를 설명하지 않는 글을 찾기 힘듭니다. 개발팀들은 모여서 어떤 방법이 가장 clean 한지 토론합니다. 어떤 개발자들은 자신들이 clean code 를 작성한다고 장담합니다. 위선자라고 생각하시나요! 저도 결백하지 않습니다. 예전에 'clean' 이라는 ..

안녕하세요. 도미닉입니다. 오늘은 스위프트에서 구조체 모델을 UserDefaults 에 저장하고 불러오는 방법을 공유하고자 합니다. API 통신을 통해 JSON 을 많이 주고 받을 것입니다. 서버로부터 받은 JSON 을 모델 구조체로 변환하여 사용할 수 있습니다. 이 데이터를 현재 화면 말고 다른 화면들에서 혹은 다음 Flow 에서 사용하게 될 경우에 이 데이터를 UserDefaults 에 저장하고 필요한 뷰에서 불러와서 사용할 수 있습니다. 만약 이 구조체 모델을 바로 UserDefaults 에 저장하고자 하면 아래와 같은 오류가 발생합니다. UserDefaults.standard.set(withdrawalFlow, forKey: "WithdrawalFlow") 이런 경우 아래와 같이 데이터 타입으로 ..

안녕하세요. 도미닉입니다. 오늘은 SwiftUI 에서 삼각형을 그리는 방법을 공유하겠습니다. 아래 코드를 구글링해서 얻을 수 있었습니다. struct Triangle: Shape { func path(in rect: CGRect) -> Path { var path = Path() path.move(to: CGPoint(x: rect.midX, y: rect.minY)) path.addLine(to: CGPoint(x: rect.minX, y: rect.maxY)) path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY)) path.addLine(to: CGPoint(x: rect.midX, y: rect.minY)) return path } } 이 코드를 실행해보았습..

안녕하세요. 도미닉입니다. 오늘은 Personal development teams, including , do not support the Push Notifications, Associated Domains, and Sign in with Apple capabilities. 이라는 에러가 발생했을 때 해결 방법을 공유하고자 합니다. 저는 회사에 프로젝트를 처음 실 기기에서 빌드할 때 이런 오류가 발생했는데요. 회사 애플 개발자 아이디를 초대 받아서 실행해도 여전히 에러가 발생하였습니다. 이 때 프로젝트 설정 파일로 들어가서 Signing & Capabilities 를 선택합니다. Signing - Team 을 선택하고 Add an account 를 선택하면 개발 팀을 선택할 수 있는데요. 저는 회사 이..

안녕하세요. 도미닉입니다. 오늘은 Xcode couldn't find any iOS App Development provisioning profiles matching 이라는 에러가 발생했을 때 해결 방법을 공유하고자 합니다. 저는 회사에 프로젝트를 처음 실 기기에서 빌드할 때 이런 오류가 발생했는데요. 회사 애플 개발자 아이디를 초대 받아서 실행해도 여전히 에러가 발생하였습니다. 이 때 프로젝트 설정 파일로 들어가서 Signing & Capabilities 를 선택합니다. Signing - Team 을 선택하고 Add an account 를 선택하면 개발 팀을 선택할 수 있는데요. 저는 회사 이메일로 다시 한번 로그인을 하니 개인 Personal 팀이 아닌 회사 Sigining 팀이 또 추가되었고 그 ..
안녕하세요. 도미닉입니다. 이번에는 태그를 삭제하는 방법을 알아보겠습니다. 저번에 Git 태그 등록하는 방법을 알아봤는데요. 그 글은 아래에서 확인할 수 있습니다. https://kiljh.tistory.com/255 git 에 태그(tag) 추가하는 방법 안녕하세요. 도미닉입니다. 이번 시간에는 git 에서 태그를 추가하는 방법을 공유하고자 합니다. 마지막 커밋에 태그를 붙이려면 git tag (태그 이름) 만 하면 끝납니다. 만약 마지막 커밋에 4.3.3 이 kiljh.tistory.com 태그를 삭제하는 방법 먼저 git tag 명령어로 삭제하고 싶은 태그의 이름을 확인합니다. git tag -d (태그 이름) 명령어로 원하는 태그를 삭제합니다. ex) git tag -d 4.3.3 만약 원격 레포..

안녕하세요. 도미닉입니다. 이번에는 Firebase 이벤트 연동을 테스트하는 방법을 공유하고자 합니다. 앱에서 발생하는 사용자 이벤트를 트래킹하기 위해 우리는 Firebase 를 많이 사용합니다. 이벤트를 설정하고 연동하는 방법은 이 글에서 설명하지는 않고 테스트를 하는 방법을 공유하고자 합니다. Firebase 를 연동하고 콘솔에 들어가면 DebugView 라는 메뉴가 있습니다. 이 메뉴에서 이벤트를 디버깅해 볼 수 있습니다. 그 전에 엑스코드 프로젝트에서도 셋팅해줘야 할 것이 있는데요. Xcode 상단 가운데 시뮬레이터를 선택하는 곳 왼쪽에 프로젝트명을 선택하고 Edit Scheme 을 선택하면 아래 화면처럼 창이 뜹니다. 여기서 왼쪽에 Run을 선택한 뒤에 Arguments 메뉴를 선택하면 Argu..
- Total
- Today
- Yesterday
- 애플
- terascan
- Apple
- 왕초보 영단어1
- 포인터
- exercise
- 뇌를 자극하는 C 프로그래밍
- C
- 프로그램
- 영어
- 매트랩
- Swift
- 뇌를 자극하는 C프로그래밍
- Xcode
- 단어
- IOS
- 시원스쿨
- 연습문제
- 반복문
- 프로그래밍
- MySQL
- 스위프트
- 데이터베이스
- Matlab
- 함수
- 배열
- 리눅스
- 형용사
- 테라스캔
- database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |