MVC 패턴
·
iOS/iOS 개념
MVC 패턴의 개요 Model - View - Controller 구조로 이루어진 디자인 패턴을 의미한다. Model : 앱의 데이터 또는 비즈니스 로직을 소유 ( 데이터의 변수 및 상수 , 데이터 값의 계산 등을 수행 ) View : 사용자에게 데이터 또는 UI 를 보여주는 역할을 수행 ( Storyboard 가 View 에 포함 ) Controller : Model 과 View 의 중간에서 View로부터 사용자의 이벤트를 감지하고, 해당 이벤트 처리를 Model에게 지시하며, Model의 계산된 데이터를 받아 View에게 전달하는 역할을 수행 ( TableViewController , ViewController, 등등.. ) Model - View - Controller 는 각각 어떻게 소통을 하나?..
ViewController LifeCycle
·
iOS/UIKit
iOS의 ViewControlle의 생명주기는 개발함에 있어 굉장히 중요하다. 해당 View에 컨텐츠가 언제 나타나야 하는지, 컨텐츠의 내용은 무엇인지, 해당 컨텐츠의 내용이 뷰가 사라지면 어떻게 되야하는지 등등 개발함에 있어 반드시 알아야 하는 중요한 사항들이있다. ViewController의 생명주기에 대해 알아보자! 1. ViewDidLoad() 공식문서에 의하면 뷰 컨트롤러가 메모리에 로드된후 호출되는 메소드이다. 다시말해 뷰가 메모리에 로딩이 완료되면 시스템에 의해 자동으로 호출되는 메소드로, 화면이 처음 생성될때 딱 한번 실행된다. 2. ViewWillAppear() 공식문서에 의하면 뷰가 뷰 계층에 추가될 것임을 뷰 컨트롤러 알려주는 메소드이다. 다시말해 뷰가 화면에 나타나기 직전! 해당 메..
1-2. 프로젝트의 설정
·
iOS/iOS 개념
저번 글에서는 xcode 에서 프로젝트를 생성하는 법을 알아보았다! 프로젝트 생성후 각종 설정을 해야하는데 중요한 부분을 위주로 포스팅 해야겠다! /* 프로젝트 생성 방법에 대한 포스팅은 ai-hong.tistory.com/70 1. Xcode 프로젝트 생성 xcode 를 실행하고, 프로젝트를 만드는 방법까지 설명한다. xcode를 실행하면 위의 이미지를 볼수 있을것이다! ( 본인의 버전은 xcode 12.3 버전 ! ) 버전에 따라 다소 다를수도 있지만 가능하면 최신으 ai-hong.tistory.com */ 먼저 왼쪽창에서 제일 위에 있는 프로젝트 명을 클릭하면 각종 설정 화면이 뜰것이다! 그중 제일 위에 위치해있는 Identity 를 살펴보자! Display Name APP 의 이름을 작성하는곳! ..
1. Xcode 프로젝트 생성
·
iOS/iOS 개념
xcode 를 실행하고, 프로젝트를 만드는 방법까지 설명한다. xcode를 실행하면 위의 이미지를 볼수 있을것이다! ( 본인의 버전은 xcode 12.3 버전 ! ) 버전에 따라 다소 다를수도 있지만 가능하면 최신으로 update 를 하는게 좋음! 새로운 프로젝트를 생성하기 위해서는 create a new Xcode project 를 클릭한다! 그럼 위와 같은 창이 뜨게 되는데 우리의 목적은 APP 개발이기 때문에 App 탭을 클릭한 후 next 클릭! ( 이 창에서 macOS, iOS, watchOS, tvOS 등 다양한 OS 개발에 맞게 설정할수 있다, 추후 나도 watch용 OS 개발을 해봐야지 ) 그럼 위와 같은 창이 뜨게 되는데 그 안의 기능은 다음과 같다! 내용 설명 내가 한것 Product ..
1. 스위프트 기초
·
iOS/Swift 문법
1) 구조체 선언 struct BasicInformation { let name: String var age: Int } Swift 에서 변수와 상수의 선언은 let 과 var 로 구성한다. var 는 나중에 바뀔수도 있는 값! let 은 나중에 바꿀수 없는 값! 예를들어.. let a: Int = 5 var b: Int = 5 a = 6// 상수(let)기 때문에 오류가 발생한다 b = 6// 변수(var) 이기 때문에 b 의 값은 6이 된다! 위와 같이 된다 앞서 선언한 BasicInformation 구조체를 사용해보자! var hongInfo: BasicInformation = BasicInformation(name: "hong", age: 27) // print 는 단순 데이터의 값만 출력! pr..