목록2025/01 (22)
大器晩成
프로토콜 속성의 요구사항프로토콜에 선언되는 프로퍼티에는 초기값을 할당할 수 없다.var로만 가능합니다. (let으로 선언 불가능)-> 개인적인 생각 ) 프로토콜은 선언만 할 뿐 값을 지정할 수 없기 때문에, let키워드를 사용하지 못하는 거 같다. let 초기값을 지정해야 하지만, var는 지정하지 않아도 되기 때문에, 프로토콜의 성격을 봤을 때 var 키워드만 사용하는 것이 많은 거 같다.또, 프로토콜에서는 함수를 정의할 때, private 키워드를 사용할 수 없고, 채택한 클래스나, 구조체에서 함수를 사용할 때에도 private 키워드를 사용할 수 없다. 이 또한 프로토콜의 성격과 맞지 않기 때문에 사용이 불가능한 거 같다. 프로토콜은 어느 곳에든지 채택만 하면 사용을 할 수 있어야 하는데, priv..
꼼꼼한 재은씨 문법편에 따르면, iOS는 특정 컨트롤러에서 발생하는 각종 이벤트를 효율적으로 관리하기 위해 대리자(delegate)를 지정하여 이벤트 처리를 위임하고, 실제로 이벤트가 발생하면 위임된 대리자가 콜백 메서드를 호출해 주는 델리게이트 패턴(Delegate Patter)을 많이 사용하는데, 이 패턴을 구현하기 위해 이용되는 것이 바로 프로토콜이다.라고 설명해 주지만 막상 잘 와닿지는 않습니다. 간단하게, 프로토콜을 직역하면, 규약, 협약(약속)의 개념으로 볼 수 있으며, 어떠한 요구사항을 정의한다. 정도의 개념을 가지고 시작해 보겠습니다. 우선 클래스나, 구조체도 있는데, 굳이 프로토콜을 왜 써야 할까?라는 의문점이 있을 텐데, 클래스의 상속을 기준으로 생각해 보면 쉽게 접근할 수 있습니다. ..

이번 포스팅에서는 코드베이스가 아닌 스토리보드와 코드로 화면 전환하는 방식에 대해서 말씀드리겠습니다. 환경은 다음과 같습니다. 1. 총 세 개의 스토리보드 2. Indetifiy inspector에서 각각의 스토리보드에 클래스 및 StoryBoard ID 적용3. 메인 뷰컨트롤러의 내비게이션 컨트롤러 구현 Push - Pop 방식ViewController----------------- @IBAction func pushButtonTapped(_ sender: UIButton) { // 1. 이동할 뷰 컨트롤러가 있는 스토리보드 특정 (bundle - 자기 폴더 내에 있는 경우 nil) let sb = UIStoryboard(name: "Main", ..

스위프트 UIKit에서 화면 전환은 두 가지로 나뉘며, 인터페이스빌드 또는 코드로 작성이 가능합니다. Interface BuilderSource code아래에서 -> 위로(다양한 전환 스타일 존재)(Present Modalpresent - dismiss우측에서 등장(Navigation Controller 필수)ShowPush - Pop 인터페이스 빌더에서 화면 설정 방법현재 스토리보드에 총 세 개의 뷰 컨트롤러가 있습니다. 이동할 객체를 선택 후 오른쪽 클릭과 함께 누를 경우 파란색 선이 나오는데 해당 선을 이동할 뷰 위에 올리면 Action Seg로 연결할 수가 있습니다.사용자가 사용하는 방식은 Show, Modal(Present Modally) 방식이 있으며, 각각 동작의 차이는 아래에서 비교하..