리액트네이티브로 발들이게 된 앱개발, 개발 자체는 재밌었지만 아이폰과 안드로이드 각각 다르게 보여지는 view, 다른 props 때문에 필요이상으로 스트레스를 많이 받았다. 그러다보니 네이티브 언어에 대해 관심이 스멀스멀 피어오르기 시작했고, 개발단계에서 확인한 안드로
상수는 let 으로 선언한다변수는 var 로 선언한다숫자로 시작하지 않음이름에서 역할을 알 수 있어야 함클래스의 이름은 대문자의 명사로 시작함수나 메서드는 소문자의 동사로 시작변수나 상수는 소문자의 명사로 시작아웃렛 변수는 주로 클래스 선언문 바로 아래에 선언액션함수는
2일차델리게이트 패턴은 쉽게 말해, 객체 지향 프로그래밍에서 하나의 객체가 모든 일을 처리하는 것이 아니라 처리 해야 할 일 중 일부를 다른 객체에 넘기는 것을 뜻한다.클래스는 부모 클래스와 자식 클래스로 구분할 수 있다. 클래스를 상속받는다는 것은 상속받고자 하는 클
프로토콜은 특정 객체가 갖추어야 할 기능이나 속성에 대한 설계도프로토콜은 선언 형태를 갖는다. 실질적인 내용은 이 프로토콜을 이용하는 객체에서 정의한다.CalculatorProtocol 프로토콜을 상속받은 클래스는 반드시 add, sub 함수를 만들어야한다. 뷰 컨트롤
🚧 에러로그처음 만나면 당황할 수 있는 이 에러는 말 그대로 해당 클래스에 초기화가 되어 있지 않는 변수 및 오브젝트가 있다는 것이다.예를 들면와 같이 initial 변수 선언 뒤에 값을 넣어 주는 것을 빼먹었거나 "!" 선언이 빠졌을 경우 해당 에러를 만날수 있다.
print - 단순 문자열 출력dump - 인스턴스의 자세한 description 프로퍼티까지 출력\\( )let name: type = valuevar name: type = valuelet name = valuevar name = valuelet sum: Intva
기본형태는 js와 동일조건문의 ()는 생략 가능조건문은 무조건 Bool 타입만 가능하다.\*\*\* js에서는 값이 있다면 true로 인식을 했지만 스위프트는 아니다var value = 0switch (value){case 0: 실행문 1case 1: 실행문 2ca
(값이 있을수도 있고 없을수도 있습니다…)옵셔널이 왜 필요한가??nil의 가능성을 명시적으로 표현 - 문서/주석을 작성하지 않더라도 nil이 있을 수 있다는 것을 알 수 있음옵셔널이 아니라면 nil체크를 하지 않고 안심하고 사용할 수 있음옵셔널 타입이 명시가 되어있지
구조체는 타입을 정의하는 것스위프트 대부분 타입은 구조체로 이루어져 있다.구조체는 값(value) 타입이다. - 타입이름은 대문자 카멜케이스를 사용하여 정의한다.구조체/enum의 인스턴스는 값(value) 타입이다.클래스의 인스턴스는 참조(reference) 타입이다.
관련있는 데이터들이 멤버로 구성되어 있는 자료형 객체원치않는 값이 잘못 입력되는 것 방지입력받을 값이 한정되어 있을 때특정 값 중 하나만 선택하게 할 때ex) 남/여, RGBenum 자체가 하나의 데이터 타입으로, Upper Camel Case를 사용하여 이름을 정의합
튜플(Tuple)은 관계가 있는 어떠한 값들의 묶음. 배열과는 다르게 길이가 고정되어있다.let coordinates = (4, 6)let x = coordinates.0 // 4let y = coordinates.1 // 6let (x3, y3) = coordina
while과 repeat은 언뜻 비슷해보이지만 동작방식에서 차이가 있다.조건 -> 코드수행 -> 조건 -> 코드수행코드수행 -> 조건 -> 코드수행 -> 조건
스위프트의 파라미터는 constant로 들어온다. 따라서 inout키워드를 통해 값을 변화시키겠다는 선언이 있어야한다.inout의 원리1\. 함수가 호출되면, 매개변수로 넘겨진 변수가 복사됩니다.2\. 함수 몸체에서, 복사했던 값을 변화시킵니다.3\. 함수가 반환될 때
전에 작성한 게시글과 합하면서 정리해야 할 필요성!!
array에 대해서는 두 가지만 기억하면 된다!array에 담을 때에는 같은 타입을 담아야 한다.array에는 순번이 있다(Index)순서가 있는 아이템, 아이템의 순서를 알면 유용할 때 많이 씀
순서가 없고 key - value로 이루어짐값을 의미단위로 찾을 때 용이
공식문서(번역) https://jusung.gitbook.io/the-swift-language-guide/language-guide/07-closures 아주 정확히는 함수는 Closure의 한가지 타입 Closure는 크게 3가지 타입이 있음전역 함수(G
관계가 있는 것들을 묶어서 표현함Structure -> value types (새로운 인스턴스를 할당해서 사용함 copy)Class -> reference types (참조됨)ex)편의점브랜드위치로고물품목록
Navigation Controller를 이용한 화면 전환 push - pop 방식 push @IBAction func btnPushWithCode(_ sender: Any) { guard let viewController = self.storyboard?.instantiateViewController(identifier: "Pu...
Appearing : 뷰가 화면에 나타나는 중 Appeard : 뷰가 화면에 나타나는게 완료 된 상태 Disappearing : 뷰가 화면에서 사라지는 중 Disappeared : 뷰가 화면에서 사라진 상태 뷰 컨트롤러의 모든 뷰들이 메모리에 로드됐을 때 호출 메모리에