[Swift] 이제는 Int(String(Substring))과 Int(Substring) 비교가 의미 없는 이유
·
Swift/개념 & 응용
안녕하세요. 개발하는 정주입니다. 오늘은 "이제는 Int(String(Substring))과 Int(Substring) 비교가 의미 없는 이유"에 대해 알아보겠습니다. 작성하면서 느낀 점은 지금의 제 수준으로는 소화하기가 어려웠다는 점입니다... 혹시 틀린 점이 있다면 알려주시면 감사하겠습니다. 서론 알고리즘 문제를 풀면서 String을 Int로 바꿔야할 때가 많습니다. split( )으로 문자열을 분리하면 Substring으로 return이 되는데요. 이때, Int(String(Substring))과 Int(Substring)의 속도 차이가 있는 것을 알고 계셨나요?? 오늘은 그 이유에 대해 알아보도록 합시다. 그리고 이 비교가 이제는 의미가 없는 이유에 대해서도 다뤘습니다. 속도 테스트 일단 Stri..
[Swift] nil을 제외하는 방법 비교 (guard, compactMap)
·
Swift/개념 & 응용
안녕하세요. 개발하는 정주입니다. 오늘은 "nil을 제외하는 방법 비교 (guard, compactMap)"에 대해 알아보겠습니다. nil이란? Swift에서 nil이란 변수에 객체가 할당되지 않은 상태입니다. Swift 문서에 따르면 "valueless state by assigning it the special value" 라고 설명하고 있는데요. 즉, 가치가 없는 상태를 nil이라고 합니다. Objective-C에서는 null과 nil이 따로 존재합니다. Objective-C의 nil은 포인터지만 Swift의 nil은 포인터가 아니라는 차이점이 있습니다. nil을 다루는 방법 nil을 다루는 방법에는 여러 종류가 있는데요. 이번 포스팅에서는 guard let과 compactMap만을 다루겠습니다. ..
[Swift] for-in과 고차함수(forEach, map, filter, reduce) 시간 비교
·
Swift/개념 & 응용
안녕하세요. 개발하는 정주입니다. 오늘은 "for-in과 고차함수(forEach, map, filter, reduce) 시간 비교"에 대해 알아보겠습니다. 이미 많은 자료가 있으나 직접 테스트 해보면 좋을 것 같아 진행하였습니다. 하지만 아직 부족한 실력으론 시간 차이가 발생하는 이유까지는 알아내지 못했습니다 ㅠㅠ 혹시 아시는 분이 계시다면 댓글로 알려주시면 감사하겠습니다! 테스트 방법 테스트 환경 : Xcode 13.3.1 / Swift 5 / MacBook Pro(16형, 2021년 모델) 반복 횟수 : 1000만 * 10회 (총 1억 회) 출력 방법 : 1000만 회를 반복할 때마다 수행 시간을 출력, 마지막에 전체 수행 시간을 출력하였습니다. 시간 측정 메서드 public func measureT..
[Swift] JSON 다루기 / JSON Codable
·
Swift/개념 & 응용
[iOS/Swift] JSON 다루기 / Codable / JSON Decoder / JSON Encoder 안녕하세요. 개발하는 정주입니다. 오늘은 iOS에서 JSON을 다루는 방법에 대해 포스팅하려고 합니다. JSON 데이터를 넣는 구조체 정의와 인코딩, 디코딩에 대해 알아봅시다. Codable JSON을 다루기 전 Codable이 뭔지 알아야 합니다. 공식 문서에서는 Codable을 "Codable is a type alias for the Encodable and Decodable protocols."로 정의하였습니다. 즉 인코딩과 디코딩을 할 수 있는 프로토콜이라는 뜻이며 그러한 것을 수행하려고 할 때 채택하면 됩니다. typealias Codable = Decodable & Encodable ..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - Quiz 2-1 오답 노트
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - Quiz 2-1 오답 노트 안녕하세요. 개발하는 정주입니다. 오늘은 Quiz 2-1에서 틀린 문항에 대해 포스팅하려고 합니다. 코드를 제대로 보지 않고 제출을 한 것이지만 실수도 안 하는 것이 좋으니 포스팅을 하며 다시 다짐하려고 합니다. 사용자 정의 타입 퀴즈 저는 Quiz 2-1의 Q3을 틀렸습니다. 구조체와 클래스의 차이점에 관한 문제로 var, let으로 property를 정의하고 let 객체를 만들었을 때 객체의 property를 수정할 수 있는가에 대한 내용입니다. struct MyStruct { var propertyA: Int = 10 let propertyB: Int = 10 } class MyClass { var ..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - guard (1-25) 생각해보기 / if와 guard
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - guard (1-25) 생각해보기 / if와 guard 안녕하세요. 개발하는 정주입니다. 오늘은 guard에 대해 포스팅하려고 합니다. 부스트 코스 1-25 내용입니다. 생각해보기를 통해 if와 guard의 차이점도 함께 알아보도록 합시다. http://www.boostcourse.org/mo122/lecture/11313 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org 생각해보기 if와 guard는 뭐가 다를까요? if와 guard 모두 특정 조건에 따라 분기한다는 점은 동일합니다. 따라서 특정 상황을 제외하면 둘 중 무엇을 선택해도 코드 로직에 영향을 주진 않을 것입니다. 여기서 ..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 타입 캐스트 as (1-24) 생각해보기
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 타입 캐스트 as (1-24) 정리, 생각해보기 안녕하세요. 개발하는 정주입니다. 오늘은 타입 캐스트에 대해 포스팅하려고 합니다. 부스트 코스 1-24 타입 캐스트 내용입니다. 생각해보기 내용은 맨 아래에 있습니다. http://www.boostcourse.org/mo122/lecture/11312 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org as as는 업 캐스팅과 다운 캐스팅에 사용되는 연산자입니다. 업 캐스팅 Sub class instance를 Super Class Type으로 참조합니다. 컴파일 시점에 캐스팅 가능 여부를 판단합니다. // UniversityStudent 인..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 프로퍼티 (1-19) 생각해보기
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 프로퍼티 (1-19) 생각해보기 안녕하세요. 개발하는 정주입니다. 오늘은 부스트 코스 프로퍼티 생각해보기에 대해 포스팅하려고 합니다. http://www.boostcourse.org/mo122/lecture/11298 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org 생각해보기 연산 프로퍼티는 Swift를 공부하며 보자마자 바로 써보고 싶다고 생각한 문법입니다. 현재 온도에 관련된 개발을 진행 중인데요. 섭씨와 화씨가 있고 섭씨가 변할 때마다 항상 화씨를 바꿔줘야 합니다. 지금은 섭씨의 setter()에 화씨의 setter()도 함께 호출하는 방법을 사용 중이지만 의식의 한 부분에 찝찝..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 클로저 기본(1-17) 생각해보기
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 클로저 기본(1-17) 생각해보기 안녕하세요. 개발하는 정주입니다. 오늘은 부스트 코스 iOS 프로그래밍을 위한 스위프트 기초 - 클로저 기본(1-17) 생각해보기에 대해 포스팅하려고 합니다. http://www.boostcourse.org/mo122/lecture/11296 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org 생각해보기 일급 객체의 주요 특징은 객체를 인자 값, 반환 값으로 사용할 수 있어야 한다는 것입니다. 따라서 클로저가 일급 객체라는 것은 클로저를 인자값, 반환 값으로 사용할 수 있다는 것인데요. 즉 이번 생각해보기는 클로저/함수를 변수에 담거나 인자값, 반환 값으..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 열거형(1-15) 생각해보기
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 열거형(1-15) 생각해보기 안녕하세요. 개발하는 정주입니다. 오늘은 부스트 코스 열거형 1-15의 생각해보기에 대해 포스팅하려고 합니다. http://www.boostcourse.org/mo122/lecture/11273 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org 열거형 Swift의 열거형은 C, 자바 같은 다른 언어의 열거형과 많이 다르고 강력한 기능을 지니고 있습니다. 유사한 종류의 여러 값을 한 곳에 모아서 정의한 것입니다. enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ... } 열거형은 enum으로 정의 가능하며 enum 자체..
유정주
'Swift/개념 & 응용' 카테고리의 글 목록 (8 Page)