SWIFT 14

[Swift] Could not insert new outlet connection

해결 방법 스토리보드에 연결된 TableViewCell.swift 이름을 지우고 enter를 친 뒤, 다시 TableViewCell.swift 클래스를 입력 후 저장해주었다. 1. 에러 발생 1) Xcode 스토리보드에서 TableViewCell을 그리고 TableViewCell을 상속한 swift 파일을 만듦 2) 스토리보드의 TableViewCell과 TableViewCell을 상속한 파일을 연결하기 위해 inspector창에 class 이름에 TableView의 swift파일 class 이름을 입력 후 Enter를 침 3) 연결이 잘 안되는지 assistant를 눌러도 ViewController 파일만 불러옴 4) 스토리 보드의 TableViewCell 위의 image View 객체를 TableVi..

Apple/Error 2023.03.18

Frame/Bounds

frame: 상위뷰 기준으로 해당 뷰의 위치와 크기를 조정함 bounds: (콘텐츠나 뷰 내에서) 스크롤 뷰 역할을 함 👉 frame은 상위뷰 기준, bounds는 자기 자신 기준으로 좌표를 나타낸다. 🤔 뷰의 사각형을 그려주기 위해선 무엇이 필요할까요? 첫번째로 뷰는 어디에 그려져야 할지 위치를 알아야 합니다. 두번째로는 위치로부터 어떤 크기로 그려져야할지를 알아야합니다. 뷰의 프레임(frame)과 바운드(bounds)는 CGRect라는 구조체를 통해서 표현됩니다. CGRect는 사각형의 크기와 위치에 대한 정보를 담고 있습니다. 기존에 생성한 subview를 이용하여 프레임과 바운드로 설정이 가능합니다. 프레임과 바운드는 CGRect 가 기본값으로 설정되어있는데데, 이미 subview를 만들어줄 때 ..

Apple/iOS 2023.02.08

[Swift] 인-아웃 파라미터

💻 In-out parameter 함수 매개변수는 기본적으로 상수입니다. 해당 함수 본문 내에서 함수 매개 변수의 값을 변경하려고 하면 컴파일 타임 오류가 발생합니다. 이는 실수로 매개변수 값을 변경할 수 없음을 의미합니다. 함수가 매개변수 값을 수정하도록 하고 함수 호출이 끝난 후에도 변경 사항을 유지하려면 해당 매개변수를 in -out 매개변수 로 대신 정의해야합니다. inout매개변수 유형 바로 앞에 키워드를 배치하여 인-아웃 매개변수를 작성합니다 . 인-아웃 매개변수 에는 함수에 전달 되고 함수에 의해 수정된 값이 있으며 함수에서 다시 전달되어 원래 값을 대체합니다. in-out 매개변수에 대한 인수로만 변수를 전달할 수 있습니다. 상수와 리터럴은 수정할 수 없기 때문에 상수나 리터럴 값을 인수로..

Apple/Swift 2022.12.13

[iOS/Swift] 오류 처리 error

💻 오류처리 방식 error를 enum 타입으로 만들 수 있다. 에러를 체크하거나 던지는 메서드를 만들 수 있다 일반적으로 반환하지 않는 메서드는 끝에 thorw를 써준다 에러를 던지게 되면 do catch라는 블록에서 작업을 한다. 에러가 들어온다고 하더라도 에러에 대한 처리를 하지 않겠다면 try? 써준다. (이거 너무 어려워요ㅠ..) 에러를 던지는 메서드에서 반환형을 가지고 있다면 데이터 반환형 앞에 thorw를 써준다. //오류 정의 enum MismatchError: Error { case countMismatch case colorMismatch case soundMismatch } //오류 던지기(throws) 함수 생성 func guessSound(name userInput: String)..

Apple/Swift 2022.11.30

[iOS/Swift] assert와 guard문

🐹 assert 사전적 의미는 '주장하다', '단언하다' 의미인데 말하다는 느낌에서 더 강한 느낌을 주는 단어다. 💻 assert문의 특징: 디버깅 모드에서만 동작하는 함수, 조건을 검증하기 위하여 사용한다. 디버깅 모드에서만 동작하는 함수로, 조건을 검증하기 위하여 사용한다. 배포된 앱에서는 동작하지 않는다는 특징이 있다. assert문을 사용할 때는 아래와 같은 문법으로 사용한다.👇 assert(조건, "조건에 맞지 않을 때 오류문구로 나타낼 메시지 입력") 🔨assert문 코드 var name: String? name = "haru" assert(name != nil, "nil!") assert 뒤의 조건에 name이라는 변수에 nil이 아닐 경우 통과하고, nil이면 "nil!"이라는 오류가 출력..

Apple/Swift 2022.11.30

[iOS/Swift] 참조 타입과 값 타임(+메모리 전달 방식)

👀 설명에 들어가기 전에 아래의 작업 순서를 먼저 보자. 1. 변수와 상수들의 모음 = 데이터 덩어리 = class/struct 2. model = 변수와 상수 같은 값들을 큰 상자 안에 묶는다. 3. 상자로 묶는 방식 중 class 방식과 struct 방식이 있다. 4. 이 상자를 메모리에 올려야한다. 💻 참조타입 Class vs 값 타입 Struct, Enum 🔧 Class의 특징 단일 상속이 된다. 참조 타입이다. 클래스는 생성자를 만들어야 한다. 클래스는 값이 전달될 때 복사되는 것이 아니라, 동일한 기존 인스턴스에 대한 '참조'가 사용된다. 즉 두 장의 종이가 서로 연결된다. 한쪽이 변경되면 나머지 한쪽도 변경되는 방식. 🔧 Struct와 Enum의 특징 상속이 불가하다. 값 타입이다. 열거형 ..

Apple/Swift 2022.11.30

[iOS/Swift] Optional type을 unwrapping하는 법

🐹 이전편👇에 이어서 이번에는 옵셔널 타입을 unwrapping 하는 법에 대해 연재하겠습니다. [iOS/Swift] Optional type이란? -1- 🐹 앨런님의 강의를 보다가 처음에 나왔던 Optional type이 계속 나와서 추가적으로 공부가 필요하다고 느꼈다. 검색하다가 잘 정리된 자료가 있어서 참고하여 정리해보려고 한다. 옵셔널 타입에 wiwi-si.tistory.com 💻 Optional Types Syntax and Usage in Swift (옵셔널 타입 문법 및 사용) The declaration is similar to declaring regular variables, except that you add a question mark (?) beside the data type w..

Apple/Swift 2022.11.25

[iOS/Swift] Optional type이란?

🐹 앨런님의 강의를 보다가 처음에 나왔던 Optional type이 계속 나와서 추가적으로 공부가 필요하다고 느꼈다. 검색하다가 잘 정리된 자료가 있어서 참고하여 정리해보려고 한다. 옵셔널 타입에 대해 다루기 전에 우선 상수와 변수, 데이터 타입에 대한 정리가 먼저 필요하다. 💻 Constants and Variables in Swift (스위프트에서 상수와 변수) To understand what optional types are, let's quickly brush up on constants and variables. A constant is a data item whose value, once assigned, cannot be mutated (modified or changed) througho..

Apple/Swift 2022.11.24