Swift_Grammar (11) 썸네일형 리스트형 [Swift_Library] ProgressHUD 이번 포스팅에서는 커스터마이징 되어진 ActivityIndicator를 보다 손쉽게 사용할 수 있는 ProgressHUD 오픈 아리브러리 사용법에 대해서 간단히 알아보겠다. 해당 라이브러리의 README를 보며 진행할것이며 Github 주소는 아래와 같다. relatedcode/ProgressHUD ProgressHUD is a lightweight and easy-to-use HUD for iOS. - relatedcode/ProgressHUD github.com 일단 라이브러리를 CocoaPod을 통해 install 하겠다. pod 'ProgressHUD' 그리고 cell을 터치했을때 ActivityIndicator가 실행 되게끔 TableView를 하나 만들겠다. QUICK START quick s.. [Swift_Grammar] Initialization 초기화란 새로운 인스턴스를 사용할 준비를 하기 위해 저장 프로퍼티의 초깃값을 설정하는 등의 일을 말한다. 초기화(Initializer)는 init 키워드를 사용하여 정의하며 하단 예제 코드와 같은 모양을 가지고 있다. init class SomeClass { init() { ... } } struct SomeStruct { init() { ... } } enum SomeEnum { case someCase init() { self = .someCase } } 구조체와 클래스의 인스턴스는 처음 생성할 때 Optional한 프로퍼티를 제외한 모든 저장 프로퍼티에 초깃값을 지정해주어야 한다. 만약 값을 꼭 가지고 있지 않아도 되는 속성이 있다면 Optional 처리를 해줘서 기본값을 nil로 설정해 줄 수 있.. [Swift_Grammar] Method 이번 포스팅에서는 메서드에 대해서 알아보겠다. 참고로 함수가 위치하고 있는 곳, 또는 사용되는 범위 등에 따라서 함수인지 메서드인지 호칭만 달리 정해진다. 모듈 전체에서 사용 - 함수 구조체, 클래스, 열거형등 특정 타입에 연관되어 사용 - 메서드 따라서 기본적인 함수의 형태를 다루었던 저번 함수 포스팅의 연장선이라고 할수 있겠다. [Swift_Grammar] 함수 오늘은 함수에 대해서 간단히 알아보겠다. 함수라는건 기능을 만드는 것. 그리고 함수 하나에는 하나의 기능을 만드는 코드가 들어가야 가장 베스트이다. 기본적으로 func라는 키워드와 함수의 devddong.tistory.com Instance Method 먼저 인스턴스 메서드를 보자면 특정 타입의 인스턴스(객체)에 속한 함수라고 할 수 있다. .. [Swift_Grammar] Property 프로퍼티의 종류에 대해서 알아보겠다. 저장 프로퍼티 첫번째로 볼것은 저장 프로퍼티다. let과 var를 사용하여 클래스 또는 구조체의 인스턴스와 연관된 값을 저장하는 가장 단순한 개념의 프로퍼티이다. 구조체에서는 저장 프로퍼티의 초깃값이 없고 옵셔널한 값이 아니어도 저장 프로퍼티를 모두 포함하는 이니셜라이저를 제공해준다. 하지만 클래스에서는 초깃값이 없고 옵셔널한 값도 아닌 저장 프로퍼티의 존재를 허용하지 않는다. 그리하여 옵셔널한 타입으로 지정해서 기본값을 nil로 설정해주던지 아니면 해당타입의 값으로 기본값 설정을 해주던지 사용자정의 이니셜라이저를 사용해서 초기화 시점에서 기본값을 설정해주던지 해야한다. struct Music { let artist: String var like: Int } clas.. [Swift_Grammar] 구조체와 클래스 구조체와 클래스는 프로퍼티와 메서드를 사용하여 하나의 새로운 사용자 정의 데이터 타입을 만들어 줄수 있다. 구조체를 먼저 보자면 struct 키워드를 사용하고 새로운 타입을 생성해주는것과 같으므로 대문자 카멜케이스로 이름을 지어준다. struct Person { let name: String var age: Int } 구조체를 정의하고 초기화 할때 아래와 같이 타입과 프로퍼티 이름을 그대로 받는 기본적으로 생성되는 init이 있다. ( 멤버 와이즈 이니셜라이저 ) 또한 점문법을 사용하여 프로퍼티에 접근할 수 있다. 하지만 구조체를 let 으로 생성한 후 프로퍼티에 값을 변경하려고 하면 상수이기 때문에 컴파일 에러가 난다. let kim = Person(name: "kim", age: 2) print(ki.. [Swift_Grammar] Optional 오늘은 Optional에 대해서 포스팅 하겠다. Optional은 값이 있을 수도, 없을 수도 있음을 나타내는 표현이다. ( 없는건 nil로 표현한다. ) 변수나 상수 등에 꼭 값이 있다는 것을 보장할 수 없으며 그 값이 nil 일 수도 있다는걸 의미한다. Int 타입 변수에 값이 0, 혹은 String 타입 변수에 값이 "" (빈 문자열) 이라고 가정할때 이 상황에서 해당 변수들의 값은 없는게 아니다. 단지 0이라는 값이 들어간, 빈 문자열 이라는 값이 들어간 변수 또는 상수인것이다. 그러니 nil 이라는 값과 혼동을 해서는 안된다. let value1 = 0 let value2 = "" nil은 Optional 타입에만 할당을 할 수 있다. 일반 타입에 nil을 할당 하고자 한다면 컴파일 에러가 발생.. [Swift_Grammar] 함수 오늘은 함수에 대해서 간단히 알아보겠다. 함수라는건 기능을 만드는 것. 그리고 함수 하나에는 하나의 기능을 만드는 코드가 들어가야 가장 베스트이다. 기본적으로 func라는 키워드와 함수의 이름, 매개변수(Parameter), 반환타입(Return type) 등을 사용하여 함수를 정의한다. 매개변수는 소괄호로 감싸주며, ->를 사용한후 반환 타입을 명시해준다. 또한 함수 내부의 코드가 한줄인 동시에 그 결괏값이 반환타입과 일치한다면 return 키워드는 생략이 가능하다. func sayHEllo() -> String { return "Hello" } // "Hello" func sayHEllo() -> String { "Hello" } // "Hello" 이번에는 매개변수를 받는 함수를 보겠다. 두개의 I.. [Swift_Grammar] 흐름 제어 (2) 흐름제어의 첫번째 조건문 포스팅에 이어서 이번에는 반복문에 대해서 포스팅 하겠다. 그전에 크리스마스 인사 한번 밖고 시작하겠다. (문득 이 블로그를 보는 사람들이 있을지 의문이 든다.) for - in 먼저 for - in 구문을 보자면 기본 틀은 아래와 같다. let elements = ["1", "2", "3", "4"] for element in elements { print(element) } elements라는 Int 배열 타입의 아이템을 반복문을 돌려서 배열의 첫 요소부터 끝까지 차례대로 처리를 해줄수 있다. 혹은 배열이 아닌 원하는 범위를 설정하여 idx를 가지고 처리를 해줄수도 있다. for idx in 0...10 { print(idx) } 또는 idx나 순회를 돌 배열의 아이템에는 전혀.. [Swift_Grammar] 흐름 제어 (1) 코드를 실행해야 하거나 실행하지 말아야 하는 상황, 혹은 특정 명령어를 반복해서 실행해야 할때 조건문과 반복문 즉 흐름 제어를 하게 된다. 조건문은 if문 과 switch문, guard문 이 있다. if 먼저 if문은 if, else 등의 키워드로 사용할 수 있고 else if는 몇개를 사용해도 상관 없으며 else 블록은 생략해도 무방하다. 먼저 오는 조건중 어느 하나라도 충족이 되었다면 다음 조건들의 코드들은 무시한다. 또한 조건의 값은 Bool 타입이어야 한다. let lhs = 5 let rhs = 6 if lhs rhs { print("lhs의 값이 더 크다") } let value = false if value .. [Swift_Grammar] Data Type 스위프트의 기본 데이터 타입은 구조체를 기반으로 구현되어있다. 또한 데이터 타입 이름의 첫 글자가 대문자로 시작하는 대문자 카멜케이스를 사용한다.ㅇ 기본 자료형이라고도 불리는 데이터 타입을 알아 보겠다. Int +, - 를 포함한 정수 타입 let value: Int = 1 UInt - 를 포함하지 않는 0을 포함한 양의 정수 let value: UInt = 1 Bool 참(true) 또는 거짓(false)만 값으로 가진다. let value: Bool = true Float 부동소수점을 사용하는 실수(32비트의 부동 소수를 표현) let value: Float = 0.1 Double 부동소수점을 사용하는 실수(64비트의 부동 소수를 표현) let value: Double = 0.1 📍스위프트 4.2 부.. 이전 1 2 다음