전체 글
-
<Swift> Delegate 활용iOS/개념정리 2022. 2. 21. 15:35
앞에 글에 이은 활용 입니다. https://ios-dev-tech.tistory.com/7 Delegate Delegate란 Delegation은 상속만큼 재사용을위한 구성을 강력하게 만드는 방법입니다. Delegation에서 요청을 처리하는 데 두 가지 개체가 포함됩니다. 받는 개체(receiving object)는 작업을 대리자(delegate) ios-dev-tech.tistory.com 이번엔 기존에 있던 delegate를 쓰지 않고 만들어서 delegate 패턴을 사용해 보겠습니다. Delegate 활용 저번 글에 사용했던 UITextFieldDelegate는 protocol 입니다. 이제 저희 는 protocal을 만들어서 사용해 보겠습니다. ViewController에 protocol을 추..
-
[Swift] 고차함수iOS/개념정리 2022. 2. 17. 17:42
고차함수는 다른 함수를 인자로 받거나 함수 실행 결과를 함수로 반환하는 함수 스위프트에서 함수(클로저)는 일급시민이다. 일급시민이란? 1. 변수나 상수에 저장 및 할당 할 수 있어야 한다. ex) func firstCitizen(test: String) -> String { print("first") return test } let abc = firstCitizen 2. 파라미터로 전달 할 수 있어야 한다. ex) func fcTest(test: String) { print("2") } fcTest(test: firstCitizen("test")) 3. 함수에서 return 할 수 있어야 한다. ex) func returnFunc() -> String { return firstCitizen(test: "..
-
<Swift> DelegateiOS/개념정리 2022. 1. 25. 15:09
Delegate란 Delegation은 상속만큼 재사용을위한 구성을 강력하게 만드는 방법입니다. Delegation에서 요청을 처리하는 데 두 가지 개체가 포함됩니다. 받는 개체(receiving object)는 작업을 대리자(delegate)에게 위임(delegate)합니다. 이것은 부모 클래스에 대한 요청을 연기하는 서브 클래스와 유사합니다. .... 위임과 동일한 효과를 얻기 위해 수신자는 위임 된 작업이 수신자를 참조하도록 대리자에게 자신을 전달합니다. 정리 해보면 delegate엔 3가지가 필요합니다. 1. 수신자 2. 대리자 3. 대리자에게 수신자를 전달 예제 아래 예제는 UITextFieldDelegate 예제 입니다. 먼져 프로젝트를 생성한 후에 아래와 같이 UI를 그려줍니다. 위 그림에서..
-
Alamofire 이용한 Server 통신iOS/개념정리 2022. 1. 24. 16:07
1. Alamofire란 - Http 통신을 하기 위한 대표적인 오픈소스 라이브러리이다. 2. Alamofire 설치 Alamofire는 CocoaPods을 이용하면 쉽게 설치가 가능하다. 2-1. CocoaPods 설치 2-1-1. CocoaPods 이란 CocoaPods는 Swift 및 Objective-C Cocoa 프로젝트의 종속성 관리자 입니다. 즉, 프로젝트에 필요한 라이브러리를 CocoaPod을 통해 쉽게 관리하고 사용할 수 있습니다. 2-1-2. CocoaPods 설치 터미널 실행 후 $ sudo gem install cocoapods 터미널에서 프로젝트 폴더로 이동 후 $ pod init 해당 명령어 실행후 Podfile이 생성 되었는지 확인한다. 아래 Podfile 안에 내용에 실행할 ..
-
txt 파일 json 파싱하기iOS/개념정리 2022. 1. 24. 13:43
1. Codable - swift4 부터 추가된 프로토콜로, Json data를 간편하고 쉽게, Decoding/Encoding 해준다. - 실제 코드로는 아래와 같이 정의 되어 있다. - Encodable/Decodable를 준수하는 프로토콜 이다. - Class, Struct, Enum 모두 Codable를 채택할 수 있다. 2. Encoding / Decoding - Encoding struct, enum, class 등의 인스턴스를 Json data 형태로 변환 시켜 주는 것. - Decoding Json 형태의 data를 struct, enum, class 등의 인스턴스에 파싱. 3. txt 파일 읽어오기 3-1. 파일 데이터 형식으로 가져오기 if let filepath = Bundle.mai..
-
Swift MVVM 패턴iOS/개념정리 2022. 1. 21. 15:32
1. MVC 와 MVVM - MVC 이란 일단 저희가 알고 있는 MVC 패턴은 M(model) : 데이터의 구조를 정의 V(view) : 가공한 데이터를 보여주기 C(controller) : 데이터를 가공 이런식의 구조를 갖고 있습니다. - MVVM 이란 M(model) : 데이터의 구조를 잡아주고, view model에게 알려준다. view와 연결되어 있진 않다. V(view) : ViewController에 코드를 작성하고 이벤트가 발생하면 view model에게 알려주고, view model이 업데이트 해준 데이터를 보여준다. VM(view model) : view가 보내준 이벤트를 해당 이벤트에 맞게 데이터를 가공 해준다. 2. MVC와 MVVM 차이점 - ViewController 가 직접 Mo..
-
프로젝트 생성(storyboard 아닌 xib 사용)iOS/개념정리 2022. 1. 21. 15:07
storyboard를 사용하지 않고 xib를 main으로 사용 하는 방법. storyboard를 사용하지 않고 xib를 사용하는 이유는 협업에 있어서 git 툴에서 storyboard가 꼬이는 이슈가 있기 때문입니다. 해당 과정은 크게 1.프로젝트 생성 후 CocoaTouch class(메인으로 사용할) 생성 2. 기존 Main 삭제 3. 설정 변경 4. AppDelegate 소스 추가 하는 방식입니다. 1. 프로젝트 생성 2. 현재 Main이라는 storyboard 파일이 기본으로 설정 되어 있다. 3. 프로젝트 안에 메인으로 사용할 CocoaTouch class 파일을 만든다. 4. MainViewController 라는 xib 파일을 만들어. (라벨 "MainViewController 화면"을 추가..