본문 바로가기

iOS/Swift7

[Swift] super.init()은 언제 호출해야할까 오늘은 헷갈렸던 super.init() 호출 시점에 대해 공부하고자 합니다. 개발을 하다보면 super.init()을 어느 시점에 작성하는지에 따라 오류가 나곤합니다. 왜인지, 언제 호출해야하는지 알아봅시다 ~! 공부하고 적는 글이므로 오류가 있을 수 있습니다 . . 먼저 생성자와 상속에 대해 알아야 합니다. 상속하는 과정에서 자식의 init()에서 super.init()이 호출되기 때문입니다. 생성자 간단하게 생성자는 특정 타입의 새로운 인스턴스를 생성하는 것입니다. init() { // 초기화 수행 } init()에 파라미터가 존재할 수도 있습니다. 상속 상속이란 간단하게 부모 클래스로부터 메서드, 프로퍼티 및 기타 등등을 상속받는 것을 뜻합니다. 즉, 부모 클래스를 상속받은 자식클래스는 부모 클래스.. 2022. 11. 29.
[Swift] stride 함수 / Set 원하는 loop 만들기 : stride 사용 // x부터 y까지 i를 -1해가며 for문 수행 for i in stride(from: x, through: y, by: -1) { // code } Set : 중복 X // 생성 var set = Set() // 추가 set.insert("A") // 포함 여부 set.contains("A") // 비우기 set = [] 2022. 10. 25.
[Swift] Swift 알고리즘 - 수학 제곱 구하기 let value = 3.0// 소수점으로 선언해야 함 pow(value, 2) // 9.0 순열 func permutation(_ arr: [T], _ n: Int) -> [[T]] { var result = [[T]]() if arr.count < n { return result } var visit = Array(repeating: false, count: arr.count) func cycle(_ now: [T]) { if now.count == n { result.append(now) return } for i in 0.. [[T]] { var result = [[T]]() if arr.count < n { return result } func cycle(_ idx: Int, _ n.. 2022. 10. 13.
[Swift] Swift 알고리즘 - Dictionary Dictionary Key : Value 가 함께 저장되는 자료구조로 정렬되지 않은 컬렉션 값 중복 O / 키 중복 X 모든 Key의 자료형은 같아야 하고, Value의 자료형도 같아야 함 Dictionary 생성 // 타입 Annotation으로 생성 var dict1 = [String: Int] = [:] // 생성자로 생성 var dict2 = [String:Int]() // 여러 타입 저장 var dict3 = [String: Any] = [:] // error 발생 ! // -> Key 값은 Hashable이란 프로토콜을 준수하는 자료형만 올 수 있음 var dict4 = [Any: Any] = [:] Dictionary 갯수 확인 print(dict1.count)// 개수 확인 print(di.. 2022. 10. 12.
[Swift] Swift 알고리즘 - 문자열 / 배열 + 계속 업데이트 예정입니다. 문자열 string[n] 형태로 사용하기 // "0inn" let idx = str[0].index(str[0].startIndex, offsetBy: 2) print(str[idx])// "n" string 안에 들어간 "*"를 “#“로 바꾸어 새로운 문자열로 반환해 달라. // 사용법 str.replacingOccurrences(of: "*", with: "#") // 원형 func replacingOccurrences(of target: String, with replacement: String) -> String 해당 문자 숫자인지 문자인지 확인 let string = "1A" Array(string).forEach { i in print(i.isLetter) pri.. 2022. 10. 11.