전체 글 87

Swift 화면 전환 방식 3. Action Segue 방식

스토리보드에서 Navigation Controller 설정 후 화면 전환을 위해 segue를 설정하는 방식 'segue'는 스토리보드에서 뷰 컨트롤러 간의 연결을 나타내는 객체 1. Action Segue 설정 - Navigation Controller 설정 (참고 : 2023.06.23 - [분류 전체보기] - Swift 화면 전환 방식 2. 네비게이션 컨트롤러 + 소스(push)) - 버튼을 생성하여 Ctl + 드래그하여 이동할 View Controller에 드롭하면 나타는 팝업 메뉴에서 원하는 전환 유형 선택 2. Segue 생성 - 'segue'를 실행하면 navigation controller를 통해 화면이 전환됨 - 전환된 뷰 컨트롤러를 스택에 push하고 이전 뷰 컨트롤러로 돌아갈 수 있는 ..

Swift 2023.06.23

Swift 화면 전환 방식 2. 네비게이션 컨트롤러 + 소스(push)

NavigationController를 사용하여 화면 전환(push) Navigation Controller를 사용하여 화면이 전환되고 Navigation Stack에 쌓임 이 방법으로 화면 전환을 하려면 먼저 Navigation Controller를 embed in 해줘야 함 1. Navigation Controller Embed (네비게이션 컨트롤러 설정) - ViewController 클릭 후 오른쪽 하단 embed in 버튼 클릭, Navigation Controller 선택하면 우측 사진과 같이 됨 2. 이동할 ViewController 설정 - 이동할 ViewController의 Identifier는 OtherViewController 3. Button Action - instantiateVi..

Swift 2023.06.23

Swift - 동일 프로젝트 내 실행 storyboard 변경

하나의 프로젝트로 여러 기술들을 사용하기 위해 스토리보드를 여러 개 만들었다. 그러나 처음 프로젝트 생성 시 만들어진 스토리보드만 실행된다면 아래와 같은 방법을 시도한다. 1. 새로 만든 스토리보드의 시작 viewController의 'is Initial View Controller' 를 체크 2. 프로젝트 파일의 Info -> Application Scene Manifest -> Scene Configuration -> Application Session Role -> Item 0 -> Storyboard Name Storyboard Name이 'main'으로 되어 있을 것이다. 이것을 시작할 스토리보드 이름으로 설정해주면 끝

Swift 2023.06.22

Swift 화면 전환 방식 1. Present 방식

ViewController가 다른 ViewController를 호출하는 방식 (present) 다른 ViewController를 Modal로 띄움 - UIViewController에 정의된 present 메소드를 사용 다시 원래 화면으로 돌아올 때 - presentingViewController?.dismiss(animated:) full screen으로 화면 띄우기 - vc.modalPresentationStyle = .fullScreen 예) 1. 새로운 viewController 생성 후 viewController의 storyboard ID 생성 - viewController에 버튼 추가 2. ViewController에 Button Action 추가 - instantiateViewControlle..

Swift 2023.06.22

Swift - Socket.IO를 이용한 채팅방 구성

2023.06.20 - [분류 전체보기] - Swift에서 socketIO 사용 방법 에서 설정한 SocketIOManager 파일을 이용한다. 1. SocketIOManager를 이용하여 소켓을 가져온다 2. 채팅방 아이디로 사용한 변수를 선언하고 메시지들을 표시할 테이블뷰와 입력창(텍스트뷰) 선언, 전체 메시지를 저장할 배열 선언 3. 가져온 소켓을 통해 이벤트 핸들러 등록 - 서버로부터 "receiveMessage" 이벤트가 발생하면 첫 번째 매개변수로 data를 받고 두 번째 매개변수로 응답 객체를 받는데 응답이 필요 없는 경우 _(언더 바)를 사용하여 응답을 사용하지 않는다 - 'data.first' 로 data의 첫 번째 요소를 가져오고 해당 요소를 '[String : Any]' 타입 (즉, ..

Swift 2023.06.21

Swift - socketIO 사용 방법(Socket.io 라이브러리)

소켓 통신 사용 방법 1. Socket.IO 라이브러리 설치 - CocoaPods를 이용하여 Socket.IO 라이브러리 추가 2. Xcode의 프로젝트 파일에서 소켓 통신을 관리하는 클래스를 구현할 새로운 Swift 파일 생성 Ex) 'SocketIOManager.swift' 파일 생성 3. 기본적인 SocketIOManager 전체 코드 4. 세부 코드 설명 1) SocketIOManger 초기화 - SocketIOManager 클래스를 Singleton으로 구현하여 'shared' 프로퍼티를 통해 인스턴스를 가져올 수 있음 - SocketIOManager 클래스는 'ScoketManager' 와 'SocketIOClient' 인스턴스를 프로퍼티로 가지고 있음 - 'manager' : 'SocketM..

CocoaPods 설치

CocoaPods - 프로젝트의 종속성 관리 도구로 사용 - 프로젝트에 필요한 라이브러리를 자동으로 다운로드하고 연결해줌 설치 방법 1. 프로젝트가 위치한 디렉토리의 터미널을 연다. 2. 'pod init' 명령어를 실행하여 프로젝트의 디렉터리에 Podfile 생성 3. PodFile을 텍스트 편집기로 열고 '# Pods for [프로젝트명]' 아래에 'pod 'Socket.IO-Client-Swift' 와 같이 필요한 라이브러리 추가 4. 터미널에서 'pod install' 명령어를 통해 Podfile에 명시된 라이브러리를 다운하고 프로젝트에 연결 -> 이 과정에서 CocoaPods는 프로젝트를 위한 Xcode Workspace 파일 ('.xcworkspace') 생성 5. 생성된 '.xcworkspa..