본문 바로가기

교육

(93)
[swift] dictionary 1. dictionary키 값으로 value를 가져올 수 있는 자료구조 2. 샘플 코드// dictionary var dic1 : Dictionary = ["mon":"월요일", "tue":"화요일"] // 해쉬 var dic2 = ["mon":"월요일", "tue":"화요일"] var dic3:[Int:Int] = [:] // []로 값 꺼내기var val = dic2["fri"] ?? "없음"print(val) print(dic2)// 값 넣기dic2["mon"] = "monday" // updatedic2["sun"] = "sunday" // insertprint(dic2) var ret = dic2.updateValue("목요일", forKey: "thu")showType(ret)if ret ==..
[swift] 배열 1. 배열같은 타입의 자료들을 저장하는 자료구조 2. 샘플 코드 // 배열 var arr1 : Array = [1,2,3] // 정확한 모양var arr2 :[Int] = [1,2,3]var arr3 = [1,2,3]var arr4 = [] // __NSArray0, objectiveC의 NSArray 호환 타입var arr5 : [Int] = [] showType(arr3)showType(arr2)showType(arr4)showType(arr5) // 주의var t1 = (1,2,3) // tuple (다른 타입)var a1 = [1,2,3] // array (같은 타입) // 멤버 함수 활용print(a1.isEmpty)print(a1.count) a1.append(4) var a2 = a1 + a..
[swift] 문자열 1. 샘플코드// 문자열 var s1 = "hello"var s2 = s1 + " world" // + 가능print(s2) // 멤버 함수 및 속성 활용// string.characters.함수(속성)에 쓸만한 함수가 많다.print(s2.characters.count) // 문자열 비교 == s1.eqaul(s2)// 객체 100번지 p1 p2 200번지 둘다 내부적으로 "abcd" ==하면 포인터만 비교 근데 swift는 값 비교 그래서 걍 씀// 문자열은 값 타입. 보통 언어에서 값타입 비교는 == 사용한다. if s1 == s2{ print("같은 문자열")} // 문자열 순회 - for in으로 s2의 문자하나씩for ch in s2.characters{ print(ch);} // 포멧 문자열..
[swift] optional 1. optional변수에 BOOL값을 하나 가지고 있는 구조체 BOOL이 true면 값을 가지고 있는 것이고false면 값을 가지고 있지 않는 것이다.! 를 통해 값을 강제 추출 할 수 있다. 2. 샘플 코드 var n1 : Intvar n2 : Int = 0//var n3 : Int = nil // nil은 값이 없다는 표현var n3 : Optional = nil //Int를 가지거나 값이 없거나print(n3)n3 = 10print(n3)// optional 구조체 Bool(나 값 있다 없다), Intprint(n3!) // forced unwrapping 강제 추출 // Int? => Optionalvar n4 : Int? = nilshowType(n4)print(n4)//print(n4!) /..
[swift] 튜플 1. 튜플두 개 이상의 값을 가짐다른 타입도 저장 가능() 안에 ,로 구분 2. 샘플 코드// 4. 튜플 : 두개 이상의 값을 가짐 var t1 = (1,3.4) // 인트랑 더블print(t1) // 두개 출력showType(t1) // 튜플에 (Int, Double) 저장하는 타입 //아래와 같이 선언var t2 : (Int, Double) = (1, 3.4) // 요소 접근var t3 = (1, "kim", "seoul") var id = t3.0 // 요소 하나에 접근 var (id2, name, addr) = t3 //모든 요소를 한번에 꺼내기 각 변수는 독립변수var (id2, name, _) = t3 // 3개꺼내오는데 마지막껀 관심없다. 관심없는 요소는 _로 표현print(name, add..
[swift] 연산자 1. 스위프트에서 안돌아가는것a = b = c if a = b {} 실수하지 않기 위해overflow&+ 하면 할 순 있다. 2. 스위프트에서 돌아가는 것범위 연산자 ... ..
[swift] 변수 고급 따로 설명을 쓰기 보단 코드를 그냥 보면서 이해하는것이 더 빠를듯 var max = Int.maxvar min = Int.min // 정확히 Int는 구조체(struct)입니다. print(max,min) // 2. 진수var n1 = 10 // 10진수var n2 = 0x10 // 16진수var n3 = 0o10 // 8진수var n4 = 0b10 // 2진수var n5 = 1_000_000 ///큰 숫자 ,대신 c++ 에선 1'000'000 콤마연산자땜 다른거 씀 // 3. 타입 별칭typealias int = Int32var n : int = 10 showType(n)
[swift] 변수와 상수 1. 변수값이 변하는 수를 변수라 한다.말 그대로 선언해 두고 그 안의 값을 바꿀 수 있는것var 변수명 : 타입 = 값위와 같은 형식으로 사용 2. 상수값이 변하지 않는 수를 상수라 한다.한 번 선언해 두면 그 안의 값을 바꾸지 않는 것let 상수명 : 타입 = 값위와 같은 형식으로 사용 3. 샘플 코드/* 1. 확장자 .swift 2. main함수가 없다. */print("Hello, World!");print("@@") // 주제 1. 변수와 상수 선언var n1 : Int = 10var n2 = 10; // 우측을 보고 좌측 타입 추론, c++11의 auto var n3 : Int // 초기값이 없는 경우 var n4 = 3, d:Double = 3.4, s = "hello" // = 사이에 스페..