[Swift] Swift 기초 문법 2

Yujin·2021년 4월 12일

Swift

목록 보기
2/6
post-thumbnail

강의 Note

[네이버커넥션 부스트코스] iOS프로그래밍을 위한 스위프트 기초

Any

swift의 모든 타입을 지칭하는 키워드

var someAny: Any=100
someAny="안녕하세요"
someAny=123.12

let someDouble: Double=someAny//컴파일 오류 발생-Any타입에 Double 자료를 
//넣어두었더라도 Any는 Double 타입이 아니기 때문에 할당x 
//명시적으로 타입 변환해야함.



AnyObject

모든 클래스 타입을 지칭하는 프로토콜

class someClas{}
var someAnyObject: AnyObject=SomeClass()

someAnyObject=123.12//컴파일 오류발생 -AnyObject는 클래스의 인스턴스만 수용 가능



nil

없음을 의미하는 키워드
다른 언어의 NULL,Null,null 등과 유사한 표현



컬렉션타입

  • Array
    - 멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입
    - 여러가지 리터럴 문법 가능
//모두 같은 표현
var integers: Array<Int> = Array<Int>()
var integers: Array<Int> = [Int]()
var integers: Array<Int> = []
var integers: [Int] = Array<Int>()
var integers: [Int] = [Int]()
var integers: [Int] = []
var integers [Int]()

integers.append(1)
integers.append(100)

integers.append(101.1)//-오류,Int타입이 아니므로 불가

print(integers)//[1,100]

print(integers.contains(100))//true
print(integers.contains(99))//false

integers[0]=00//멤버 교체

//멤버 삭제
integers.remove(at: 0)
integers.removeLast()
itegers.removeAll()

print(integers.count)//멤버 수 확인



  • Dictionary
    - '키'와 '값'의 쌍으로 이루어진 컬렉션 타입
    - 다양한 리터럴 문법 가능
    • 정렬 전에는 순서 무작위
///모두 동일한 표현(불변은 let 사용)
var anyDictionary: Dictionary<String,Any> = [String: Any]()
var anyDictionary: Dictionary <String,Any> = Dictionary<String,Any>()
var anyDictionary: Dictionary <String,Any> = [:]
var anyDictionary: [String: any] = Dictionary<String,Any>()
var anyDictionary: [String: Any] = [String: Any]()
var anyDictionary: [String: Any] = [:]
var anyDictionary = [String: Any]()
var anyDictionary=["name":"yagom","gender":"male"]

anyDictionary["someKey"]="value"
anyDictionary["anotherKey"]=100

print(anyDictionary)//["someKey":"value","anotherKey": 100]

anyDictionary.removeValue(forKey: "anotherKey")//키에 해당하는 값 제거 
//anyDictionary["anotherKey"]=nil이랑 같음

let someValue: String = anyDictionary["someKey"]
//오류-"someKey"라는 키에 해당하는 값이 없을 수 있으므로



  • Set
    - 중복되지 않는 멤버가 순서없이 존재하는 컬렉션
    - 축약형 존재 X
var integerSet: Set<Int>=Set<Int>()

integerSet.insert(1)//새로운 멤버 입력
integerSet.insert(99)//같은 값 여러번 넣어도 한번만 저장
integerSet.insert(99)
integerSet.insert(99)
integerSet.insert(100)

prit(integerSet)//{100,99,1}

print(integerSet.contains(1))//true-멤버 포함 여부 확인

integerSet.remove(99)//{100,1} -멤버 삭제
integerSet.removeFirst()//{1}

integerSet.count//1

let setA: Set<Int>=[1,2,3,4,5]
let setB: Set<Int>=[3,4,5,6,7]

let union: Set<Int> = setA.union(setB)//합집합
let sorted: [Int] = union.sorted()//오름차순 정렬
let intersection: Set<Int> = setA.intersection(setB)//교집합
let subtracting: Set<Int> = setA.subtracting(setB)

함수

profile
하나하나 알아가는 하루하루

0개의 댓글