본문 바로가기

Swift

(19)
[Swift] String and Characters(문자열과 문자) Swift Docs - Strings and Characters Apple Developer - String Apple Developer - Character 문자열과 문자에 대한 정의 문자열(String)은 문자의 모음인 유니코드 문자열 값이다. 문자(Character)는 사용자가 인식하는 문자에 가까운 단일 확장 자소 클러스터다. String(이하 문자열)을 사용하다보면 Character(이하 문자)를 자주 접하게 된다. 예를 들어 문자열을 기준으로 하는 반복문을 사용하면 만나볼 수 있는데, 개별 요소로 문자가 나온다. let testStrings = "hello" for character in testStrings { print(character) } // Prints // h // e // l /..
[Swift] 옵셔널 Optional 안녕하세요, Wody입니다. 오늘은 옵셔널에 대해 공부해봤습니다. 코딩을 하다보면 많이 사용하던 개념인데 이번에 제대로 정리하고 넘어가네요. 이번에도 노션에 작성한 원본 글이 있으니 이쁜 디자인으로 보고 싶으신 분들은 아래 노션 링크를 참고해주세요. 노션 링크 Apple Developer - Optional 카테고리 : Swift - Swift Standard Library - Numbers And Basic - Optional 옵셔널 선언 @frozen enum Optional 열거형의 내부 구조 @frozen public enum Optional : ExpressibleByNilLiteral { /// The absence of a value. /// /// In code, the absence of..
[Swift] 네트워크와 무관한 URLSession Unit Test 안녕하세요 Wody 입니다. 오늘은 네트워크와 무관한 URLSession의 Unit Test에 대해 공부했습니다. 구글링을 해봤는데 대부분의 예제는 Alamofire를 이용하고 있어서 조금 어려웠는데 다른 분들께 도움이 됬으면 좋겠습니다. 원본 노션 링크 네트워크와 무관한 URLSession Unit Test를 하는 목적 유닛 테스트는 빠르고 안정적으로 진행되어야 합니다. 실제 서버와 통신하게되면 단위 테스트의 속도가 느려질 뿐만 아니라 인터넷 연결에 의존하기 때문에 테스트를 신뢰할 수 없습니다. 실제 서버와 통신하면 의도치 않은 결과를 불러올 수 있습니다. 예를 들어 우리는 서버에 Item 을 등록하는 코드를 테스트하길 원합니다. 그런데 실제 서버에 코드를 호출하면 데이터가 실제로 등록되기 때문에 의도..
[Swift] URLSession 안녕하세요, Wody입니다. 오늘은 URLSession에 대해서 공부했습니다. (사실 지난 주말에 공부했는데 공부하고 나면 진이 빠져서 블로그에 업데이트를 안하네요...) 이 글은 노션에서 작성된 글을 그대로 가져온 것입니다. 이쁘게 보고 싶은신 분은 아래 노션 링크를 참고해주세요 https://wodylikeios.notion.site/URLSession-d219933cf73640ed882475b0f614ba5f URLSession Apple Developer - URLSession wodylikeios.notion.site Apple Developer - URLSession Apple Developer Documentation developer.apple.com URLSession 네트워크 데이터 전..
[Swift] ARC와 순환 참조 안녕하세요, Wody 입니다. 이번 글은 ARC와 순환 참조가 무엇이며, 어떻게 방지할 수 있는지 알아보도록 하겠습니다. 이 글은 제가 개인적으로 공부 기록을 남기는 Notion에서 그대로 긁어온 글이라 평소와 다른 양식을 갖고 있으니 원래 글을 읽고 싶으신 분은 링크를 참고해주시면 됩니다. Automatic Reference Counting 자동 참조 카운팅 Swift는 ARC(Automatic Reference Counting)을 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. 그렇기 때문에 Swift에선 ARC 덕분에 메모리 관리에 대해 생각할 필요가 없습니다. 조금 자세하게 말하자면, ARC는 해당 인스턴스가 더 이상 필요하지 않을 때 클래스 인스턴스에서 사용하는 메모리를 자동으로 해제합니다...
[Swift] Codable, JSONEncoder, JSONDecoder 안녕하세요 Wody 입니다! 이번 포스팅에서는 Swift에서 JSON 데이터 유형을 다루는 방법 중 하나인 Codable, JSONEncoder, JSONDecoder를 알아보겠습니다. 3가지를 알아보기 위한 공식 문서 Apple Developer - Archives and Serialization Codable Codable은 Decodable 과 Encodable을 합친 typealias입니다. 그래서 Codable을 알기 위해선 Encodable & Decodable을 알아야 합니다. Encodable과 Decodable은 JSON과 같은 데이터 유형을 인코딩, 디코딩 가능하게 만드는 프로토콜입니다. 자세한 사용법은 공식문서에도 친절히 나와있습니다. 기본적으로 Swift에선 인코딩과 디코딩을 구분하..
[Swift] Unit Test, TDD 안녕하세요 Wody 입니다. 오늘 알아볼 것은 Unit Test와 TDD입니다. 테스트란? 더보기 테스트는 말 그대로 시험하는 것입니다. 우리가 만든 코드가 잘 작동하는지 검증해야 안심이 되죠? 만약에 테스트 없이 코드를 쭉 작성했는데, 잘 작동하지 않는다면, 어느 코드가 잘못된 동작을 하고 있는지 알 수 없을지도 모릅니다. 그렇기 때문에 우리는 코드의 단위(유닛)별로 테스트를 해야 하는 것입니다! TDD(Test-driven development TDD) TDD - 위키백과 TDD는 개발을 하는 '방법' 중 하나입니다. 우리가 어떤 목적을 가진 프로그램을 개발할 때 다양한 방법을 가지고 개발하는데요. 객체 지향 프로그래밍, 애자일 방법론, 절차 지향 프로그래밍 등등 개발에 대한 다양한 시선과 방법이 있..
[Swift] 정규표현식 안녕하세요 Wody입니다. 코딩테스트에서 빠질 수 없는 문자열 제어 중, 무조건 쓸 수 밖에 없는 정규표현식을 배워보고자 합니다. 정규표현식이란? 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있습니다. from. 위키백과 결론은 문자열을 검색하고 치환하기 위해 사용하는 기능이라고 볼 수 있습니다. 그럼 Swift 에서는 정규표현식을 어떻게 사용할 수 있을까요? 정규표현식 사용하기 Apple Developer - NSRegularExpression 정규표현식에 대한 공식문서를 위에서부터 살펴보면 분류는 `Foundation`에 속해있고 `String and Text` 기능에 포..
[Swift] String 문자열 대소문자 변경하기 / uppercased(), lowercased() 안녕하세요 Wody입니다. 알고리즘 공부를 하다보면 문자열과 관련된 문제가 많이 나오는데요, 그 중 영어를 대문자 혹은 소문자로 제어해야 하는 상황이 나오기도 합니다. 그래서 오늘은 String 문자열을 대문자 혹은 소문자로 변경하는 법을 공부해보겠습니다. 문자열 대문자로 변경하기 참고자료 - Apple Developer - uppercased() 공식문서를 같이 봐보면 문자열을 대문자로 만들어주는 메소드는 String 타입의 인스턴스 메소드로 분류됩니다. 그리고 메소드를 호출하면 반환값으로 String 값을 반환해줍니다. 때문에 `String 타입`의 인스턴스에 바로 호출할 수 있는 메소드입니다. 이번 공식문서에는 어떻게 사용하며, 사용하면 어떤 결과를 볼 수 있는지 예제가 준비되어있는데요. let c..