옵셔널 체이닝 Swift 언어에서 옵셔널 값을 안전하게 참조하고 호출하는 방법을 제공하는 기능 옵셔널 체이닝을 사용하면 옵셔널 값이 nil인지 확인하고, nil 이 아닐 경우에만 해당 값에 접근하거나 메서드를 호출한다. 이를 통해 nil 로 인한 런타임 에러를 방지하고 안전하게 코드를 작성할 수 있다. 옵셔널 체이닝은 다음과 같이 ? 연산자를 사용하여 구현된다. optionalValue?.property optionalValue?.method() 여기서 optionalValue 는 옵셔널 타입을 가진 변수나 상수를 나타낸다. 만약 optionalValue 가 nil 이 아닌 경우에만 속성이나 메서드에 접근하거나 호출된다. 만약 nil 일 경우엔 옵셔널 체이닝 표현식 전체가 nil 을 반환하게 된다. le..
오늘은 캠프에서 열어준 기본 문법 강의 중 제대로 인지하지 못했던 기본 문법을 정리한 후 이전에 만들었던 미니 프로젝트를 다시 한번 복습하며 만들어보았다. Tuple 튜플은 여러 값들을 그룹화 하는데 사용되는 데이터 타입 여러 값들을 한번에 전달하고 반환할 수 있으며, 서로 다른 타입의 요소들을 포함할 수 있다. let person: (String, Int, Character) = ("John", 30, "M") Any Any는 다양한 데이터 타입의 값을 수용할 수 있으며, 이를 통해 배열로 만들 시 여러 타입을 담을 수 있다. Any 데이터형을 대입하려면 반드시 형 변환이 필요 func printValue(_ value: Any) { print(value) } printValue(5) // Int pr..
가위바위보 게임을 만들어 보는 와중에 오류 해결한 내용을 모아 정리해봤다.Type 오류컴퓨터의 랜덤으로 가위바위보를 설정하는 코드를 만들던 중 Rps 파일을 상속받아 rawValue를 통해 랜덤으로 선택하도록 구현한 코드를 짜봤다.var comChoice: Rps = Rps(rawValue: 0...2)! 로 설정했더니 하단과 같은 오류가 나타났다.Cannot convert value of type 'ClosedRange' to expected argument type 'Int’고민 끝에 문법 자체가 잘못 지정되어있는 것을 깨달았다. Int가 빠져있던 것이었다.var comChoice: Rps = Rps(raValue: Int.random(in: 0...2)) 로 수정해봤더니 정상적으로 랜덤한 컴퓨터 선..
오늘은 슬라이드를 이용한 시간 설정 후 시간이 다되면 특정한 소리를 내어 알려주는 미니 프로젝트를 진행하였다. 처음 배우는 타이머 구현 및 사운드 플레이와 같은 내용은 구글링을 통해 특정 키워드를 알아내고 알아낸 키워드를 바탕으로 재검색하여 사용할 수 있는 코드를 찾는 방법을 통해 접근하였다. 사운드플레이 사운드플레이를 사용하기 위에선 먼저 새로운 프레임워크를 선언해야한다. import AVFoundation 그 후 어떠한 작업 후 소리가 나기를 원하는 함수 내 하단의 코드를 입력하면 입력한 사운드가 나오게 된다. @IBAction func startButtonTapped(_ sender: UIButton) { AudioServicesPlayAlertSound(SystemSoundID(1322)) } 상..