swift에는 많은종류의 명령어가 존재합니다. 그중에서 가장 흔히 사용하는 명령인 let, var에 대해 정리해 보고자 합니다. let : 선언시 처음입력된 데이터만 저장하게 됩니다. var : 선언시 처음입력된 데이터 이후 추가로 입력가능하며 마지막에 입력된 데이터가 최종 데이터가 됩니다. 더 많은 명령들이 있지만 swift를 처음 공부할땐 가장 ...
Loop문은 어떤 프로그래밍 언어든 많이 사용되는 문법으로 기본적으로 for, while등이 있습니다. 기본적인 for와 while을 알아보려 합니다. for문 : 아래와 같이 item에 items에 값을 대입하여 대입하는 수 만큰 코드를 반복하게 됩니다. items에 3개의 값이 있었다면 items -> item으로 1개씩 3번 입력되게 되고 그때...
swift은 타입을 굉장히 중요시 합니다. 그래서 타입 설정이 매우 중요하며 그중에서 가장 기본이 되는 숫자타입에 대해 알아 보았습니다. Int : 기본 정수타입 Int 타입은 정수를 선언할 때 사용하는 타입 입니다. Int에도 UInt 같은 타입이 존재합니다. 실재로 Int는 음의정수, 0, 양의정수를 모두 표현 할 수 있지만 UInt는 0, 양의정수...
Boolean은 프로그래밍을 하기에 앞서 중요한 개념 중 하나입니다. 참, 거짓을 판별하여 각 조건에 따라 다음 프로그램을 수행할지를 결정하게 하는 등 활용도가 매우 높습니다. Boolean개념에는 OR, ANd, XOR을 자주 사용합니다. OR : 더하기와 비슷한 개념으로 입력값 중 하나만 참(1)이어도 참(1)을 출력하게 됩니다. AND : ...
swift에서 함수는 특정 기능을 하도록 사용자가 만들어 놓은 코드입니다. 사용자가 지정한 이름의 함수를 호출하여 사용하면 같은 기능을 여러번 사용할 수 있어 반복적으로 처리할 것을 함수로 만들어 놓으면 유용하겠습니다. 함수활용 예시) 스크린샷 2019-11-28 오후 3.21.34.png 스크린샷 2019-11-28 오후 3.21.45.png  예시 스크린샷 2019-12-05 오후 1.17.42.png Any : 어떤 타입이든 받아 들일 수 있다. Generic : 타입이 정해져 있는게 아니고 값이 들어올때(사용할 때) 결정이 됨. 스크린샷 2019-12-05 오후 1.20.15.png 타입비교 ; is 타입을 비교할 때 사용 데...
Type Casting as : 타입 변환이 확실하게 가능한 경우(업캐스팅, 자기 자신 등) 에만 사용 가능. 그 외에는 컴파일 에러 as? : 강제 타입 변환 시도. 변환이 성공하면 Optional 값을 가지며, 실패 시에는 nil 반환 as! : 강제 타입 변환 시도. 성공 시 언래핑 된 값을 가지며, 실패 시 런타임 에러 발생 Upcast...
Initializer Swift 의 객체는 사용하기 전 모든 저장 프로퍼티에 대해 초기화 필수 다음 3 가지 중 하나를 택해 초기화 초깃값 지정 옵셔널 타입 - nil 값으로 초기화 초깃값이 없고, 옵셔널 타입이 아닌 프로퍼티에 대해서는 초기화 메서드에서 설정 예제 Designated Initializer (지정생성자) 클래스에 반드시 1개 이상 ...
Singleton 특정 클래스의 인스턴스에 접근할 때 항상 동일한 인스턴스만을 반환하도록 하는 설계 패턴 한 번 생성된 이후에는 프로그램이 종료될 때까지 항상 메모리에 상주 어플리케이션에서 유일하게 하나만 필요한 객체에 사용 UIApplication, AppDelegate 등 Syntax @Singleton Class 예제 @다음과 같은 경우는 어떻게...
UserDefaults iOS 에서 데이터를 파일에 저장하기 위해 사용하는 대표적인 클래스 중 하나 간단한 정보를 저장하고 불러올 때 사용하며 내부적으로 pList 파일로 저장 -> 메모리에 저장하면 프로그램이나 클래스 종료시 데이터 소멸, 파일은 소멸되지 않음 ; 다만 불러오는 속도는 메모리가 훨씬 빠름! 예제 -> 임의로 파일을 생성하기 위해선 인...
Memory Management without ARC GC(Garbage Collection) 정기적으로 CG가 동작하여 더이상 사용되지 않는 메모리를 반환하는 방식 OS X 에서만 지원했었으나 버전 10.8부터 deprecated MRR(Manual Retain-Relese) / MRC(Manual Referece Counting) RC(Ref...
참조 카운트 예제 @참조의 종류 strong : 기본값. 강한 참조. Reference Count 1 증가 unowned : 미소유 참조. Count 증가하지 않음. 참조 객체 해제 시에도 기존 포인터 주소 유지 weak : 약한 참조. Count 증가하지 않음. 참조하던 객체 해제 시 nil 값으로 변경 Scope Strong Reference Cy...
Comparing Structures and Classes [ 클래스와 구조체 공통점 ] 값을 저장하기 위한 프로퍼티 기능을 제공하기 위한 메서드 초기 상태를 설정하기 위한 생성자 기본 구현에서 기능을 추가하기 위한 확장(Extension) 특정 값에 접근할 수 있는 첨자(Subscript) 특정한 기능을 수행하기 위한 프로토콜 채택 Uppe...
Delegate Delegate.tiff 특정 로직을 내가 아닌 다른 객체가 대신 구현하도록 위임하는 형태의 디자인 패턴 요청하는 객체와 요청에 응답할 객체로 나누어 작성 주로 다음과 같은 상황에 사용 뷰가 받은 이벤트나 상태를 뷰컨트롤러에게 전달하여 처리 (View -> ViewController) 뷰 구성에 필요한 정보를 뷰컨트롤러가 결정 (Vi...
AutoLayout 뷰에 주어진 제약조건에 따라 뷰의 크기와 위치를 동적으로 계산해 배치하는 것 외부 또는 내부의 변화에 동적으로 반응하여 유저 인터페이스 구성 External / Internal Changes 외적 변화 요소 (External Changes) •
UIScrollView 를 상속받아 리스트 형태로 반복되는 아이템을 보여주기 위한 뷰 Plain Style / Grouped Style Plain Table Views • 기본 스타일 • 하나 이상의 섹션을 가질 수 있으며 각 섹션은 다시 하나 이상의 로우를 가짐 • 각 섹션은 그 자신의 헤더/푸터 뷰를 가질 수 있고 해당 섹션이 보여질 때 헤더뷰는 To...
1부터 50까지의 숫자 출력하기 Simulator Screen Shot - iPhone 11 Pro Max - 2019-12-18 at 03.30.28.png Simulator Screen Shot - iPhone 11 Pro Max - 2019-12-18 at 03.30.30.png
/*** UIRefreshControl을 이용해 목록을 갱신할 때마다 임의의 숫자들이 출력되도록 할 것 랜덤 숫자의 범위는 출력할 숫자 개수의 +50 이며, 모든 숫자는 겹치지 않아야 함. e.g. 20개 출력 시, 랜덤 숫
/*** Data : 0 부터 100 사이에 임의의 숫자 섹션 타이틀을 10의 숫자 단위로 설정하고 각 섹션의 데이터는 해당 범위 내의 숫자들로 구성 e.g. 섹션 0 - 0부터 9까지의 숫자 섹션 1 - 10부터
테이블뷰 셀에 버튼을 눌렀을 때 해당 셀의 숫자가 1씩 올라가게 구현! -> 테이블뷰와 커스텀셀을 연습하며 추가로 구현 과정 중 delegate까지 연습 할 수 있었습니다.