
📚 빌드 클린 Clean Build Folder 프로젝트를 하면서 Image 파일들을 추가하고 관리하는 과정에서 AppIcon 이미지를 변경하는 과정에서 다음과 같은 에러를 만났다. 2가지 오류가 번갈아가면서 뜨기도 했는데, App 아이콘 이미지를 픽셀별로 다운받아서 폴더 그대로 추가했음에도 이와 같은 오류를 만나서 Build Success가 이루어지지 않았다. AppIcon 네이밍도 잘못되지않았었고, 152.png 파일도 정상적으로 돌아가 있었다. 이 때 해결방법은, 이미지를 교체하고 새로 추가하는 행위를 하지말고 Product - Clean Build Folder 기능을 사용한다. 찾아보니 Xcoce에서 자체적으로 지원해주는 기능인데, 100% 완벽하게 지워지는것은 아니라고 하지만 이미지 관련한 에러..

📚 stride for문 일정 숫자만큼 증가시키는 방법 stride 반목문을 사용하다 보면 1씩 증가가 아닌 2 혹은 3 등 원하는 숫자만큼 증가시켜야 할 경우가 있다. 그 때, stride라는 것을 사용하면 됩니다. 기본형태 2가지 stride(from: , to: , by: ) " 3 6 9 "를 순차적으로 출력 12 출력 X stride(from: , through: , by: ) " 3 6 9 12 "를 순차적으로 출력 💡 즉, to는 to에 들어가는 값을 포함하지 않는 범위이고, through는 through에 들어가는 값을 포함한 범위이다. 프로그래머스 예시 문제 https://school.programmers.co.kr/learn/courses/30/lessons/181886 프로그래머스 코..
📚 enumerated 배열의 index값 찾기 enumerated 반복문을 사용하면서 그 요소의 인덱스 값을 알고 싶을 때 enumerated()를 사용한다고 이해하면 된다. 예시 var array : [String] = ["A","B","C","D","E'] for (index, value) in arr.enumerated() { print("\index) : \(value)" } // 0 : A // 1 : B // 2 : C // 3 : D // 4 : E 알고리즘 예시 문제 https://school.programmers.co.kr/learn/courses/30/lessons/181886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록..

📚 Swift 에서 문자열 index 접근에 대하여 Swift 에서 문자열은 어떻게 조회할까 ? swift에서 문자열을 정수 index로 조회하면 오류가 발생한다. 그러면 Swift에서는 어떤 방식으로 조회해야 할까 ? String.Index를 사용해서 접근한다. // 선언 let str = "hello world!" // 조회 str[str.startIndex] // 'h' str[str.endIndex] // '!'가 나올지 알았겠지만 에러 발생 var idx = str.index(str.startIndex, offsetBy: 6) str[idx] // 'w' // 반복문을 인덱스처럼 뽑아 사용하려면 indicies 메소드 사용 for i in str.indices { print(str[i]) // ..

📚 문자열 내 특정문자 변경 (치환) ReplacingOccurrences 문자열을 대체하여 새 문자열을 반환한다. - of target : 바꿀 문자열 - with replacement : 대체할 문자열 사용예시 let str = "Bye Nice to meet you" let result = str.replacingOccurrences(of: "Bye", with: "Hello") print(result) // "Hello Nice to meet you" of: 에 있는 "Bye"를 "Hello"로 변경하는 코드이다.

📚 문자열 처리 메소드 split components Split split메서드는 다양한 parameter를 지원한다. 각각의 역할은 다음과 같다. - separater : 쪼개려는 문자 단위 - maxSplits : 지정한 문자 단위로 얼마나 쪼갤지 - omittingEmptySubsequences : Bool값으로 결과값에서 빈 시퀀스의 포함 유무를 설정 참고 : https://zeddios.tistory.com/232 split은 말 그대로 문자열을 특정 문자 기준으로 쪼갤 수 있다. 반환형은 String타입을 [Substring]으로 반환하게 된다. 배열을 반환받게 되는 것이다. 또한 표준 라이브러리에 들어가있다. 때문에 바로 import Foundation을 할 필요없이 사용 가능하다. let ..
📚 고차함수 Map Filter Reduce 고차함수란 ? 다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수 ( = 매개변수로 함수를 갖는 함수 ) Map ( 변형 ) 데이터를 변형하고자 할 때 사용한다. 기존 데이터를 변형하여 새로운 컨테이너를 만드는데, 기존 데이터는 변형되지 않는다. Map은 기존의 for-in 구문과 큰 차이가 없지만, 다음과 같은 이점이 있다. 코드의 간결성 재사용 용이 컴파일러 최적화 성능 좋음 map의 기본 형태 array.map(transform:T throws -> T) T타입의 transform을 받아 새로운 Txㅏ입의 컨테이너를 생성한다는 말이다. * 기존 for - in 구문 let numArray = [1,3,5,7,9] var multiArra..

📚 prefix suffix prefix 컬렉션의 초기 요소를 포함하는 지정된 최대 길이까지 하위 시퀀스를 반환한다. 최대 길이가 요소 수를 초과하는 경우 결과에는 컬렉션의 모든 요소가 포함된다. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" 관련 문제 prefix 를 이용하여 푼다면 ? import Foundation func solution(_ my_string:String, _ n:Int) -> String { return String(my_string.prefix(n)) } 💡 my_string:prefix(n) 앞에..