Swift 12

[Swift] Optional Unwrapping (4) - 옵셔널 체이닝 (Optional Chaining)

안녕하세요 띵지니어 😼 입니다. 이번 시간에는 닐 코얼레싱(Nil-Coalescing)에 이어 옵셔널 언래핑하는 방법 중 네 번째 방법을 소개하려 해요 바로바로 옵셔널 체이닝(Optional Chaining)에 대해 포스팅 해보려고합니다. 시작 전에 "체이닝"? 이 뭐죠? 아래와 같이 점(.) 문자로 객체, 메서드, 속성에 접근을 하는 것을 보통 체이닝(Chaining) 이라고 합니다. 본격적으로 시작해 볼게요 🍎 옵셔널 체이닝 (Optional Chaining) 요약하자면 옵셔널 값에 대한 안전한 접근을 연속적으로 수행할 때 사용 합니다. 즉 옵셔널 값이 nil일 수 있는 여러 프로퍼티, 메서드, 서브스크립트를 하나의 연속된 표현식 내에서 안전하게 호출하고, 표현식 중 하나라도 nil을 반환할 경우, ..

Swift 2024.04.19

백준 2609번 최대공약수와 최소공배수 Swift

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 내 코드 // 유클리드 호제법 func gcd(_ a: Int, _ b: Int) -> Int { var a = a var b = b while b != 0 { let temp = b b = a % b a = temp } return a } func lcm(_ a: Int, _ b: Int, gcd: Int) -> Int { return (a * b / gcd) } let input = readLine()!.split(separator: " ").map { Int..

BOJ/Swift 2024.04.18

[iOS] AutoLayout 충돌 해결하는 방법 (feat: SnapKit)

안녕하세요 띵지니어 😼 입니다. 이번 포스팅은 오토 레이아웃을 짤 때 Layout Conflict 가 발생할 경우 어떻게 해결해야 하는지 알아볼게요. UI Layout을 짜다가 다들 아래와 같이 Warning 메시지를 보신 적 있으실 거예요! (없으면 진짜 고수..) Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the..

iOS 2024.03.05

[iOS] 스토리보드 없이 UIKit으로 프로젝트 세팅: 코드베이스 설정

안녕하세요 띵지니어 😼 입니다. 이번 포스팅은 UIKit 프레임 워크에 스토리보드를 사용하지 않고 코드 베이스 로 프로젝트를 진행해야 할 때 초기 세팅을 어떻게 해야 하는지에 대해 알아보도록 할게요. 1. 프로젝트 생성하기 Create New Project... -> iOS -> App 아래와 같이 기본 사항을 입력해 줍니다. (똑같이 하셔도 됩니다.) **Product Name : 프로젝트의 이름을 정해줍니다. Team : 애플 개발자 계정을 129,000 원으로 구매했고, 개발 인증서가 있으면 그 계정으로 지정하면 되는데, 따로 없으면 None으로 지정하셔도 됩니다. (추후 수정 가능) **Organization Identifier: 저는 띵진으로 등록했는데, 원하시는 네임으로 하시면 됩니다. (보통..

iOS 2024.02.23

[iOS] 프로젝트에 폰트(Font) 넣는 법

오늘은 프로젝트 하면서 Apple에서 제공되는 font가 아닌 외부 폰트를 가져와서 프로젝트에 적용 시켜보는 작업을 해보도록 할게요 🍀 먼저 외부에서 font를 다운받아서 로컬로 다운 받아요 저는 길형진님의 pretendard 폰트를 다운 받았어요 폰트 다운로드 : 눈누 이제 프로젝트에 어떻게 적용 시키는지 알아볼게요 ‼️ 1. 다운로드한 폰트를 사용하고 싶은 대로 골라서 따로 프로젝트에 넣어 볼게요 저는 아래와 같이 5개의 폰트를 넣어 줄게요 2. Copy items if needed를 눌러서 완전하게 프로젝트에 넣어줍니다. 그리고 폰트를 적용하고 싶은 프로젝트 targets에 체크해줍니다. 저는 Puzzle-iOS에 해놓을 게요! 사진에는 체크가 안 되어있는데 Fonts를 적용하고자 하는 프로젝트 파..

iOS 2024.02.10

[iOS/Xcode] info.plist 위치 옮길때 에러 해결법

안녕하세요 이번 시간에는 프로젝트 초기 세팅을 하면서 info.plist 위치를 수정했을 때 빌드 에러가 날 때 해결하는 법을 알아볼게요 저는 사진처럼 "build input file cannot be found:Path" 에러를 겪었어요 에러를 자세히 읽어보니 info.plist의 경로를 알 수 없다고 떴어요 프로젝트 내부에서 info.plist 가 바뀐다고, 경로가 수정되진 않기 때문이에요 해결 방법 1. info.plist의 파일 위치와 프로젝트 파일 위치를 맞춰줘요 2. 프로젝트 -> Target -> BuildSetting -> Packaging -> info.plist File 의 위치를 알맞게 조정해 주면 됩니다. 그러면 관련 에러가 사라지고 빌드가 잘 되는 걸 볼 수 있어요

iOS 2024.01.26

[Swift] Optional Unwrapping (3) - 닐 코얼레싱 (Nil-Coalescing)

지난 시간에 옵셔널 언래핑 하는 방법 중 옵셔널 바인딩(Optional Binding) 부분을 공부해 봤어요 옵셔널 바인딩은 스위프트에 꽃 이라 .. 꼭 참고해 보면 좋아요! https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-2-%EC%98%B5%EC%85%94%EB%84%90-%EB%B0%94%EC%9D%B8%EB%94%A9-Optional-Binding-if-let-guard-let [Swift] Optional Unwrapping (2) - 옵셔널 바인딩 (Optional Binding) if let , guard let 지난 시간에 옵셔널 언래핑 하는 방법 중 강제 추출(Forced Unwrapping) 부분을 공부해 봤어요 https:/..

Swift 2024.01.18

[Swift] Optional Unwrapping (2) - 옵셔널 바인딩 (Optional Binding) if let , guard let

지난 시간에 옵셔널 언래핑 하는 방법 중 강제 추출(Forced Unwrapping) 부분을 공부해 봤어요 https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-%EA%B0%95%EC%A0%9C-%EC%B6%94%EC%B6%9C-Forced-Unwrapping 강제 추출이 궁금한 분들은 위 게시물 참고해 주세요! ⬆️⬆️ Optional Binding 이번 시간에는 옵셔널 언래핑하는 방법 중 두 번째 방법을 소개하려 해요 바로바로 옵셔널 바인딩(Optional Binding) 이에요. 강제 추출 문법, 느낌표 ! 기억나죠? 이번에 할 옵셔널 바인딩은 강제 추출 방법이 아닌 !! 훨씬 더 안전한 방법이에요 단순한 Syntax 로 옵셔널 값을 추출할 수..

Swift 2024.01.15

[Swift] Optional Unwrapping (1) - 강제 추출 (Forced Unwrapping)

https://thingjin.tistory.com/entry/Swift-Optional-%EA%B0%9C%EB%85%90-%EC%95%8C%EC%95%84-%EB%B3%B4%EA%B8%B0-nil-%EC%A0%95%EC%9D%98 [Swift] Optional 개념 알아 보기, nil 정의Optional Swift를 조금이라도 접해본 분들은 많이 들어봤을 옵셔널!! 에 대해서 알아 보기로 해요!!! 정의 : 래핑 된 값(Wrapped) 또는 값의 부재(absence)를 나타내는 타입이에요~ 애플은 정의를 너무 어렵thingjin.tistory.com⬆️⬆️ 지난 시간 Optional 개념 지난번에 옵셔널 타입에 대해 알아봤어요 지난 포스팅 마지막에 옵셔널 값을 확인할 때, Optional("지수")를 ..

Swift 2024.01.11