본문 바로가기

전체 글54

[Xcode] Error: Could not insert new outlet connection Could not insert new outlet connection: could not find any information for the class named TableViewCell스토리보드로 구현한 테이블뷰셀 내의 레이블을 TableViewCell 파일에 @IBOutlet으로 연결하려는데 이런 오류가 떴다.TableViewCell 클래스를 가지고 있는데 왜 못 찾는다는거야!찾아보니 Xcode 업데이트 이후 자주 나타나는 오류라고 한다. 해결방법은? 직접 코드 작성 후 거꾸로 연결해주기이렇게 직접 코드를 작성하면 빈 동그라미가 생기는데 이걸 스토리보드로 연결해주면 된다! 2024. 3. 19.
[240319] 배열과 딕셔너리 1. 배열에 각 요소가 몇개씩 있는지 세기 위해 딕셔너리를 이용할 수 있다. var dictX: [String: Int] = [:] var dictY: [String: Int] = [:] X.forEach { dictX[String($0), default: 0] += 1 } Y.forEach { dictY[String($0), default: 0] += 1 } 또, 딕셔너리의 생성자 Dictionary(grouping:by:)를 이용하면 배열의 요소를 어떤 기준(key)에 따라 그룹핑(value)하여 딕셔너리로 나타낼 수 있다! let a = [1, 2, 3, 3, 5, 5] Dictionary(grouping: a) { $0 } // [2: [2], 1: [1], 3: [3, 3], 5: [5, 5]].. 2024. 3. 19.
[240318] 함수 파라미터 주석/랜덤 숫자 1. 함수를 작성할때 파라미터에 대한 설명을 주석으로 달아 다른 사람이 함수를 쉽게 이해할 수 있도록 할 수 있다. 코드 컨벤션을 따라 아래와 같이 작성할 수 있다. /** - parameters: - num1: 연산자 왼쪽에 오는 수 - num2: 연산자 오른쪽에 오는 수 */ func minus(_ num1: Int, _ num2: Int) -> Int { return num1 - num2 } 2. 배열에서 랜덤으로 서로 다른 숫자 3개를 뽑아 배열 만들기 var arr = Array(1...10) arr.shuffle() print([Int](arr[0...2])) 2024. 3. 18.
[240317] % 활용하기 1. 제한 조건의 최대 길이만큼 수열을 반복하도록 하고 flatMap() 함수로 중첩된 배열을 없애주었다. 주어진 최대 길이가 모두 세 배열의 크기로 나누어 떨어지기에 이렇게 풀이했지만, 풀면서도 나누어 떨어지지 않았다면? 생각이 들었다. 역시 더 깔끔한 풀이가 있었다. 어떤 시퀀스가 반복되는 형태라면 % 연산자를 활용하여 실제 크기만큼 배열을 만들지 않고도 인덱스를 다룰 수 있다. // 내가 쓴 코드 let arr1 = Array(repeating: [1, 2, 3, 4, 5], count: 2000).flatMap { $0 } let arr2 = Array(repeating: [2, 1, 2, 3, 2, 4, 2, 5], count: 1250).flatMap { $0 } let arr3 = Array.. 2024. 3. 17.