본문 바로가기
반응형

iOS/Swift19

[Swift] sorted(by:) 메서드와 클로저 sorted(by:) 메서드란?sorted(by:) 메서드는 Swift에서 배열을 특정 기준에 따라 정렬할 때 사용하는 함수입니다.이 메서드는 배열의 요소들을 비교하여 새로운 정렬된 배열을 반환합니다. 원본 배열은 변경되지 않습니다. 기본 sorted()let numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]let sortedNumbers = numbers.sorted()print(sortedNumbers) // 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9]sorted() 메서드는 배열을 오름차순으로 정렬합니다. 하지만, sorted(by:) 메서드를 사용하면 커스텀 정렬 기준을 제공할 수 있습니다. sorted(by:)의 시그니처func sorted(by areInIncre.. 2024. 10. 13.
[Swift] split과 components Swift의 split과 components 비교: 문자열을 나누는 두 가지 방법문자열을 특정 기준으로 나누는 작업이 매우 빈번하게 이루어집니다. 이때 주로 사용되는 두 가지 방법이 있습니다: split 메서드와 components(separatedBy:) 메서드입니다. 이 두 메서드는 기능적으로 비슷하지만, 사용 목적과 반환 값에서 차이가 있습니다 splitfunc split(separator: Character, omittingEmptySubsequences: Bool = true, maxSplits: Int = Int.max) -> [Substring]separator: 나눌 기준이 되는 문자 (Character)omittingEmptySubsequences: 빈 결과를 생략할지 여부 (기본값: t.. 2024. 9. 16.
[Swift] global과 static은 기본적으로 lazy gobal과 static의 Lazy 초기화 Lazy 초기화란?Lazy 초기화는 변수가 실제로 사용될 때까지 초기화를 지연하는 기법을 말한다. 이는 프로그램의 시작 시점에 불필요한 메모리 사용을 피하고, 초기화 비용을 줄이기 위해 사용된다. 다시 말해, 변수가 처음 사용되기 전까지는 초기화되지 않는다.공식문서에서는 "lazy 저장 변수는 이것이 처음 사용되기 전까지 초기값이 계산되지 않는 프로퍼티 입니다. 사용자는 선언부에 lazy 수정자를 붙임으로써 lazy 저장 변수를 나타낼 수 있습니다."라고 되어있다.사용자는 항상 lazy 프로퍼티를 variable로 선언해야만 한다.왜냐하면 이 프로퍼트의 초기값을 인스턴스 초기화가 완료된 시점까지 알 수 없기 때문이다.상수 프로퍼티는 초기화가 끝나기전까지 반드시 .. 2024. 7. 30.
[Swift] NSObjectProtocol, NSObject Cannot declare conformance to 'NSObjectProtocol' in Swift;NSObjectNSObject는 모든 Objective-C 클래스의 기본 클래스이다.NSObject는 기본적으로 MacOs와 iOS 최상위에 위치하고 있다. 이것은 모든 객체가 공통적으로 가져야 하는 기본적인 동작을 정의하며, 객체 지향 프로그래밍의 근간이 되기도 한다. 객체 초기화 및 메모리 관리:init: 기본 초기화 메서드deinit: 객체가 해제될 때 호출되는 메서드로, Swift에서는 deinit 키워드로 사용객체 비교 및 해싱:isEqual(_:)와 hash: 객체 비교와 해싱을 위한 메서드런타임 클래스 정보:class와 isKind(of:): 객체의 클래스 정보를 제공하고, 특정 클래스의 .. 2024. 7. 16.
[Swift] 고차함수 (map, filter, reduce, compactMap, flatMap) 고차함수 (Higher-order Function)Swift에서 고차함수(Higher-Order Function)는 다른 함수를 인자로 받거나 함수를 반환하는 함수입니다. 이러한 함수는 코드의 재사용성을 높이고, 함수형 프로그래밍 스타일을 사용할 수 있게 해줍니다1. mapmap 함수는 배열의 각 요소에 동일한 연산을 적용하여 새로운 배열을 반환합니다.let numbers = [1, 2, 3, 4, 5]let squaredNumbers = numbers.map { $0 * $0 }print(squaredNumbers) // [1, 4, 9, 16, 25] 2. filterfilter 함수는 배열의 요소 중 주어진 조건을 만족하는 요소들만을 포함하는 새로운 배열을 반환합니다.let numbers = [1,.. 2024. 7. 5.
[Swift] 타입에러 경고 Cast from 'JSON?' to unrelated type ' ' always fails 해당 경고는 Swift에서 JSON? 타입을 다른 타입(예: [[String: Any]] 또는 Data)으로 캐스팅하려고 할 때 발생합니다.경고가 뜨는 이유는 Swift의 타입 시스템에서 JSON 타입이 예상하는 타입과 호환되지 않기 때문입니다.해결하기 위해서는 JSON 타입을 적절하게 처리하고, 이를 원하는 타입으로 변환해야 합니다.if let res = res { let data = try res.rawData() // JSON 데이터를 Data로 변환 let terms = try JSONDecoder().decode([DTO].self, from: data) // Data를 [DTO]로 디코딩 .. 2024. 7. 4.
반응형