본문 바로가기

FRONT-END/iOS39

자바스크립트와 비교하며 Swift 공부하기 - 컬렉션, Array편 Swift의 컬렉션 데이터를 효율적으로 관리하기 위한 자료형 Array, Dictionary, Set이 있음 Array vs Set -> 주로 Array를 사용함. 단, 여러 데이터를 중복 저장할 필요가 없을 때 Array 대신 Set을 사용하기도 함 Swift 5.2에서 KeyValuePairs가 추가됨 Dictionary와 유사한 형태이지만, 배열처럼 순서가 있는 컬렉션 컬렉션 관련 용어 - Copy-On-Write 최적화 : 코드상에서 값을 복사해서 담는다 하더라도, 실제 값이 바뀌기 전까지는 하나의 메모리 값을 공유해서 사용하는 것 (메모리를 적게 차지하기 위해 Swift 내부에서 알아서 처리하는 매커니즘) Array // Swift 배열 표기 방법 // 정식 표기 방법 let numArray: .. 2023. 7. 8.
자바스크립트와 비교하며 Swift 공부하기 - 옵셔널, 옵셔널 체이닝편 Swift 옵셔널 var name: String? = "rarla" // 정식문법 // var name: Option = "rarla" print(name) // Optional("rarla") Swift에 옵셔널은 타입이 지정되어있는 특정 변수에 값이 할당되지 않은 경우 발생하는 에러를 막기 위해 임시적인 타입인 nil을 담아두는 것을 의미 옵셔널 타입은 옵셔널이 아닌 타입과 완전히 다른 타입 옵셔널 타입에는 해당 변수에 nil을 할당할 수 있지만, 옵셔널이 아닌 타입에는 nil을 할당할 수 없음 옵셔녈 타입은 변수로 선언해야 의미가 있음. 상수인 경우에는 값을 재할당할 수 없기 때문 옵셔널 타입의 변수는 print 해보면 Optional이라는 포장지에 감싼 형태로 출력이 되어 사용할때는 벗겨주는 작업.. 2023. 7. 7.
자바스크립트와 비교하며 Swift 공부하기 - 함수편 함수의 선언 JavaScript는 function 키워드지만, Swift는 func 키워드임 Swift는 함수 선언 시 파라미터(매개변수, 인자)와 타입을 지정해줘야함 Swift는 함수 호출 시 아규먼트(인수)는 파라미터에 명시한 대로 전달해줘야함 JavaScript, Swift 모두 파라미터에 기본값 선언 가능하며, 기본값 선언된 경우 해당의 파라미터 값은 인수로 전달하지 않아도 오류없음 func sampleFunc(a: String) { print("\(a)") } sampleFunc(a: "test") // test 함수 선언의 다른 형태 Javascript의 화살표 함수와 유사하나 타입을 지정 Swift는 화살표를 -> 로 표시하며, -> 다음 return 될 값의 타입을 명시 후 {}를 열어 r.. 2023. 7. 7.
자바스크립트와 비교하며 Swift 공부하기 - 어트리뷰트 키워드편 Swift @어트리뷰트 키워드 추가적인 정보를 제공하는 키워드로 컴파일러에게 추가적인 정보를 알려주는 역할을 한다. 선언에 추가정보 제공 타입에 추가정보 제공 @discardableResult 결과값을 사용하지 않아도 된다고 컴파일러에게 정보를 알려주는 역할 func returnFunc() -> Bool { return true } // 리턴되는 값을 사용하지 않을때 발생하는 경고창을 없앰 // 기존의 방식 _ = returnFunc() // Swift 5.2부터는 @discardableResult 키워드를 활용함 @discardableResult func returnFunc() -> Bool { return true } 2023. 7. 7.
자바스크립트와 비교하며 Swift 공부하기 - 반복문편 (+print option) _ : 와일드카드 패턴은 생략의 의미 Swift 반복 패턴에 자주 쓰이는 패턴 [범위].reversed // 순서 뒤집기 stride(from: 1, to: 15, by: 2) // 1부터 15 미만까지 2간격으로 stride(from: 1, through: 15, by: 2) // 1부터 15이하까지 2간격으로 For 문 - javascript는 for, for...in, for...of 모두 사용 - swift에서 for문은 for...in 문을 사용 for number in 1...5 { // number는 임시 상수로 for문 안에서만 사용 } While 문 - javascript do-while문이 swift에서는 repeat-while문임 Swift Labeled Statements - swi.. 2023. 7. 5.
자바스크립트와 비교하며 Swift 공부하기 - 튜플편 튜플의 정의 - 자바스크립트에는 없는 개념이다. 객체와 유사하나 중괄호가 아닌 소괄호를 사용한다는 점이 다르다. - 2개 이상의 원하는 연관된 데이터를 저장하는 Compound(복합/혼합)타입이다. var tupleValues = ("안녕", "서울", 30) // 데이터의 종류 및 개수는 튜플을 만들때 결정되므로 추가, 삭제가 불가능함 tupleValues = ("하이", "바이", 40) 튜플 데이터 접근 - 연관된 값의 각각의 데이터에 접근하는 방법은 접근연산자를 사용하면 된다. tupleValues.0 // "하이" Named Tuple (이름이 매겨진 튜플) let tupleValues = (name: rarla, age: 99) tupleValues.name // "rarla" - 자바스크립트.. 2023. 7. 4.