Swift (13) 썸네일형 리스트형 Swift - First Class Citizen FirstClassCitizen은 3가지 특성을 가지고 있음. 1.변수와 상수에 저장할 수 있음. 2.함수에 파라미터로 전달 가능함. 3.함수에 리턴값으로 반환 될 수 있음. 1 변수나 상수안에 저장할 수 있음. func sum(a: Int, b: Int) -> Int { return a + b } let someSum = sum print(someSum(50, 10)) // 60 2.함수호출문에서 인자로 파라미터에 전달될 수 있음. func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int { return method(a, b) } let result = calculate(a: 50, b: 10, method: sum) print(result) .. Swift - Closure(클로저) Swift Closure: - 클로저는 익명함수이며, 함수와 마찬가지로 First-class Citizen임. - 자바에서는 람다, 오브젝티브-C에서는 블럭이라고 명칭. - self-contained code blocks Named Closures: (Global Function, Nested Function) 함수는 이름이 있는 클로저. Unnamed Closures: ( Anonymous Function) 익명함수 * 중요: 코드블럭은 호출하기 전까지 실행이 안됨. 생성 문법: { (parameters) -> returntype in statements } 아래와 같이 c 상수에 할당해 주면 클로저에 이름이 c가 됨. let c = { print(“hello”) } 클로저 헤드는 클로저 바디와 in .. Swift - Function(함수) Function(함수) 독립적으로 수행되는 코드 블록. 클로저는 이름 없는 코드 블럭. 함수라고 할 때는 일반적으로 클래스나 구조체 외부에 생성. 클래스나 구조체 같은 형식 내부에 함수를 만들면 메소드라고 함. 함수 종류 Maker Function: 애플이 제공하는 함수. User Define Function : 개발자가 만든 함수. 3rd Party Function : 다른 개발자가 만든 함수. * swift에서는 3rd party function을 잘 사용하지 않음. 2. 함수를 만드는 이유 코드중복을 제거해서 유지보수를 편리하게 하기 위해서. 프로그램의 작업단위가 함수인데, 함수는 메모리 크기가 정해져 있어서 너무 많은 양의 코드를 하나의 블럭에 만들면 stack overflow가 발생할 수 있기 .. Swift - Collection(배열,딕셔너리, 셋) Swift Collection Collection : 데이터의 모임 (수집, 모음집) Swift Collection 종류 Array(배열): 일련번호를 구분하는 데이터의 연속적인 모임. Set: 데이터를 중복없이 해싱을 이용(데이터의 순서를 알수없음)해서저장하는 데이터모임 Tuple: 데이터를 연속적으로 모아놓는데, 추가하거나 수정하거나 삭제할 수 없는 구조. array와 다르게 이름을 붙일 수 있음. Dictionary: 번호대신에 이름을 붙여서 데이터를 저장하는 구조 - Key:Value 구조 String: Character의 집합 ⇒ tuple을 제외하고는 모두 동일한 자료형의 데이터만 저장이 가능한데, Any와 AnyObject를 이용하면 모든 자료형의 데이터를 저장할 수 있음. Any와 AnyO.. Swift - 변수와 상수(Constant and Variables in Swift) 프로그래밍언어에서 데이터를 처리하기 위한 첫 단계이면서 가장 기초적인 것이 메모리에 데이터(값)을 저장하는 것. 변수나 상수를 이용해서 프로그램에서 사용하는 데이터를 메모리에 임시로 저장. 변수와 상수를 메모리로 생각하고, 해당 메모리에 값을 저장하는 개념. 변수(상수)선언: 새로운 변수(상수)를 만드는 것. 여기서 변수와 상수의 이름이 해당 값을 저장한 메모리의 이름이 됨. 변수는 한번 값을 저장해도 바꿀 수 있으나, 상수는 한번 값을 저장하면 값을 바꿀 수 없음. 변수는 생성후 데이터 값 변경 가능. 상수는 불가능. 상수의 장점: 가독성. 차후 값의 변경을 신경쓰지 않아도 됨. (예: 원주율 값) 생성 문법: var 식별자(identifier) = 초기값(initial value) let 식별자(id.. 이전 1 2 다음