본 포스팅은 유데미의 iOS & Swift - The Complete iOS App Development Bootcamp 강의를 참고하여 정리하였습니다.
실로폰을 구현하는 앱을 만드는 것이 이번 챕터의 목표다.
우선 수업자료에서 준 기본 틀을 가지고 소리를 출력할 수 있게 해야한다.
소리를 출력하기 위한 함수를 찾기위해 구글링의 단계는 다음과 같다.
코드 내에서 빠르게 검색하기 위해선 option키를 누른 상태에서 코드 내의 항목들을 클릭하면 된다.
func : 파이썬에선 def라고 부르듯, swift에선 함수를 만들 땐 func으로 쓴다.
command + A 키를 누르면 자동으로 들여쓰기가 가능하다.
나머지 내용은 기초 문법 내용이므로 여기선 생략한다.
여러 요소를 단일 IBAction에 연결하는 방법과 그 과정에서 사용자가 누른 버튼을 구별하는 방법을 배우는 내용이다.
실리폰을 구현하기 위해 모든 실로폰 버튼에 IBAction을 만드는 것은 비효율적이다.
코드 옆에 있는 동그라미를 통해 버튼을 연결할 수 있다.
이 7개의 버튼을 동일한 IBAction에 연결한다.
이제 각 버튼마다 다른 소리들을 낼 수 있도록 설정해야한다.
UIbutton 함수의 매개변수 sender를 출력하면 연결된 요소들의 정보를 알 수 있다.
sender.title, sender.currentTitle 등을 통해서 현재 버튼의 내용(C, D, E... )을 출력할 수 있다.
sender를 통해 얻은 제목을 함수에 넘겨서 그 내용에 따라 소리를 다르게 출력할 수 있게끔 한다.
Swift의 모든 변수는 생성될 때 데이터 유형이 할당된다.
ex) var hello : Int = 1029401957
하지만 데이터 유형을 할당하지 않고도 변수를 생성할 수 있었다. 그 이유는?
👉 DataType을 추론할 수 있기 때문이다.
데이터 유형을 지정된 변수는 다른 유형의 변수를 사용하려는 경우 오류가 발생한다. (데이터 유형을 생략한 경우도 마찬가지)
버튼을 누르면 버튼이 0.2초정도 불투명해지다가 이내 다시 원래 버튼의 형태로 돌아온다. 이때 0.2초의 시작과 끝에 start와 end라는 출력문이 나오도록한다. 내가 쓴 코드는 다음과 같다.