목록iOS/swift (18)
꾸준히 안타치기

데이터 접근방식 Array는 index로 접근 / 없는것 출력하면 out of index에러 Dictionary는 key로 접근 / 없으면 nil로 표기됨 정렬방식 Array는 순서대로 출력 Dictionary는 key로 접근, 순서가 보장 안됨 https://www.youtube.com/watch?v=ZjSRtASMp5w
함수 { } 형태 행위, 전역에서 쓰일수 있음 매서드
https://sw-swift-5.tistory.com/3 Swift Collection Collection : 데이터의 모임 (수집, 모음집) Swift Collection 종류 Array(배열): 일련번호를 구분하는 데이터의 연속적인 모임. Set: 데이터를 중복없이 해싱을 이용(데이터의 순서를 알수없음)해서저장하는 데이터모임 Tuple: 데이터를 연속적으로 모아놓는데, 추가하거나 수정하거나 삭제할 수 없는 구조. array와 다르게 이름을 붙일 수 있음. Dictionary: 번호대신에 이름을 붙여서 데이터를 저장하는 구조 - Key:Value 구조 String: Character의 집합 ⇒ tuple을 제외하고는 모두 동일한 자료형의 데이터만 저장이 가능한데, Any와 AnyObject를 이용하면..
1. 클로저 - 이름이 없는 함수 (익명함수) 클로저는 실행가능한 코드 블럭입니다. 함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일합니다. 함수는 이름이 있는 클로저입니다. 일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능합니다. 2. 기본 클로저 문법 클로저는 중괄호 { }로 감싸져있습니다. 괄호를 이용해 파라미터를 정의합니다. -> 을 이용해 반환 타입을 명시합니다. "in" 키워드를 이용해 실행 코드와 분리합니다. { (매개변수 목록) -> 반환타입 in 실행 코드 } 3. 클로저 사용 // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + ..

()-> Void 반환형이 없다. func completion(){ } 우리는 함수를 정의할떄 func 이라는 키워드를 이용해 정의해왔다. 클로저는 함수와 동일한 기능을 하되, func키워드와 함수명이 없는 함수이다. (익명함수) comment 부분 이름은 아무거나가능, completion내용을 받아와 넣어줄수 있음. 자료형 생략 가능 + in completion: 생략가능 + in 생략형 이벤트를 받을수도 있고 아닐수도 있고, 클로저를 옵셔널 처리할 수도 있다. (이벤트 받을수도 있고 없을 수도 있음) 숫자 받아서 string으로 리턴 함수와 클로저의 차이점 Function func 키워드를 통해 정의한다. 이름을 갖는다. in 키워드가 존재하지 않는다. Closure func 키워드가 존재하지 않는다..
https://greendreamtrre.tistory.com/30 Swift (스위프트) 자료형, 형변환, 기본 문법 Playground에서 정지 버튼을 누르고 좌측 숫자 옆에 재생 버튼을 누르면 그 행까지만 실행한다. (Shfit + return과 동일) Shift + return을 반복해서 한줄씩 내려가며 디버깅하기 좋음. 자료형 Int : 정수 (기 greendreamtrre.tistory.com String -> Double // 카메라 함수에 넣기위해 더블형태로 바꾸기 let lat = Double(mapModels.addresses[0].y)! let lon = Double(mapModels.addresses[0].x)!
기본 입력 받기 (input의 타입은 String) var input = readLine()! Int형 한 개의 숫자 입력 받기 var num = Int(readLine()!)! "1 2 3 4 5"와 같은 공백 있는 숫자 입력 받기 // split - ReturnType: [SubString] var nums = readLine()!.split(separator: " ").map {Int($0)!} // components - ReturnType: [String] var nums = readLine()!.components(separatedBy: " "). map {Int($0)!} "12345"와 같은 공백 없는 숫자를 배열로 입력 받기 바로 Int($0)! 보다 Int(String($0))! 가 속..

https://www.inflearn.com/course/uikit-ios14/lecture/80757?tab=curriculum&volume=1.00&quality=1080&speed=1.25 프로토콜이란? - 규격,규약,규칙 - 반드시 선언해야 하는것들을 정의 해놓음 / 정의만 할뿐 구현은 하지 않는다. - 클래스는 단일 상속이기때문에 protocol이 나왔다고함 / 상속의 한계 - 프로토콜은 행동을 정의한다. - 프로토콜은 타입이다. https://dblog.tech/25 왜사용할까? https://www.boostcourse.org/mo122/lecture/11320?isDesc=false iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org :: 프로토..

튜플이란? 쉼표로 구분된 객체의 모음 / 배열과 비슷하지만 다르다. 데이터를 간편하게 묶을 수 있는 효율적인 자료구조 var topTitle = ("메인화면 ","mainIcon.png") 쌍으로 이루어져서 사용할수 있는 형태 , 튜플로서 값이 두개 들어있다. 인덱스가 자동으로 잡혀있다. topTitle.0 으로 호출하면 메인화면이 호출됨 리스트는 요소의 값이나 크기를 변경할 수 있으나, 반면에 튜플은 요소들의 개수와 내용을 변경할수 없다. 요소 각각의 인덱스는 중요한 의미를 가진다. 튜플의 특성 1. 다양한 타입을 저장할 수 있다. 2. 첨자 타입의 속성이 제공되지만, 메소드나 속성, 서브스크립트는 제공되지 않는다. 3. 한번 입력된 튜플값의 변경을 불가능하다. 4. 기능을 정의하는 클래스나 구조체가 ..
:: 조건문 :: if-else switch 1. if-else 구문 if-else 구문의 기본 형태 if만 단독으로 사용해도되고, else, else if 와 조합해서 사용 가능합니다. if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 합니다. 조건을 감싸는 소괄호는 선택사항입니다. if 조건 { /* 실행 구문 */ } else if 조건 { /* 실행 구문 */ } else { /* 실행 구문 */ } if-else의 사용 let someInteger = 100 if someInteger 100 { print("100 초과") } else { print("100") } // 100 // 스위프트의 조건에는 항상..

https://www.youtube.com/watch?v=5RBUH-2PcN4&list=PLgOlaPUIbynoqbQw_erl3L2w7vfOTCtFD&index=9 어떤 자료형이든지 받는다.

https://youtu.be/gYXNCJntXAY struct class - 기능집합이다. 가장 큰 차이는? 값을 복사하느냐 ! 복사본은 영향을 안받음 / 안전 / 상속이 안됨 참조하느냐? (서로 연결이 되어있다. 영향을 받음) struct class 값에 의한 전달 참조에 의한 전달 ( 서로 연결되어 있어 영향을 받는다.) 값 복사 참조하는 값이 바뀌어도 기존 값에는 영향이 없음. 공유해서 사용함 기존값에는 영향이 없으므로 안전하다. 상속이 안된다. init이 있다.(초기값을 설정한다.) 생성자를 만드는것 = 메모리에 올린다. // init으로 매개변수를 넣어서 그값을 가진 객체(object)를 만들 수 있다. 클래스는 공유해서 사용하는 개념. 참조( =메모리 주소를 가리킨다.레퍼런스)하는 값이 바뀌..

옵셔널이란? 값이 있을수 있고 없을수도 있다. 값이 있는지 없는지 그것을 알지 못하는 상태이다. ?가 없다면 값이 있는 상태이다. 값이 있을 수도, 없을 수도 있음을 표현 nil이 할당 될 수 있는지 없는지 표현 옵셔널이 왜 필요할까? 추후 값이 들어오는 것에 따라서 유동적으로 처리하고 싶을때! nil의 가능성을 명시적으로 표현한다. 전달받은값이 옵셔널이 아니라면 nil체크를 하지 않더라도 안심하고 사용 예외 상황을 최소화하는 안전한 코딩 예를 들어, 네트워크 작업을 통해 데이터가 들어왔는지? 들어오지 않았는지? 를 우리는 장담할 수 없음 그럴때 데이터형을 옵셔널로 처리해놓고, 데이터가 존재한다면 -> 데이터에 맞게 처리하고 데이터가 존재하지 않는다면 (nil) -> 예외 구문 처리하고 유동적으로 후속 ..