이번 시간에는 실로폰 앱을 만들어보자.
이번 섹션을 우리는 아래의 차례로 진행할 예정이다!
Search Structure
What I want my app to do + Which programming Language + Which resource 방식으로 검색하는것을 추천한다.
예시를 보자.
play sound Swift StackOverflow 를 검색해보자.
스택오버플로우 reputation도 포폴에서 어필할 수 있다..
https://developer.apple.com/documentation/
에서 우리가 찾은 키트의 용도 확인이 가능하다.
매번 우리가 궁금한것을 도큐멘테이션에서 찾아보는 능력이 중요하다.
이를 통해 이해하면 코드를 훨 더 이해하기 좋다.
옵션버튼이랑 같이 궁금한걸 누르면 그 함수에 대한 설명을 해준다.
가져온 코드에는 내가 원하는 기능이 없을 수 있고 이것은 내코드가 아니기에 내 코드로 필요한 기능들을 만드는 과정이 필요하다.
이것이 아마 스위프트 프로그래밍에서 제일 까다로운 점일것이다!
이 과정들을 잘 해결해나가는 것이 스위프트 코딩이다.
함수를 작성하는 이유는 무엇일까?
반복된 작업을 하는 앞으로,뒤로 가는 로봇이 있다고 생각해보자
이런 것들은 하나하나 작성하면 뭐 별일 아니겠지만
이런것들이 점점 반복되어서 쌓이고 이것을 매일 해야하는 반복성이 있다면
우리는 매번 같은 코드를 작성해야한다.
이런 반복작업을 없애기 위해서
우리는 함수를 만든다.
func greeting(){
print("hello")
}
이렇게 작성하면 함수를 작성한것이다.
하지만 아직 실행해도 내가 지정한 함수가 작동안하는데 그 이유는 바로 호출을 안해줬기때문이다.
그렇기 때문에
func greeting(){
print("hello")
}
greeting()
을 작성하면 함수호출이되어서 우리가 원하는 것이 출력되게 된다.
간단히 함수를 사용해보는 예제이다.
이런식으로 함수 안에 있는 변수의 범위는 그 함수로 한정된 지역변수이기 때문에 다른 함수에서 사용이 불가하다.
이런 방식으로 하나하나씩 액션을 연결해줄 수 있다.
print(sender)를 하면 각 버튼의 특성들을 알 수 있지만
우리는 이렇게 딥하게 들어갈 필요가 없다,
그렇기에 버튼의 배경정도만 불러오는 걸로 찾아보자!
imageView.image
backgroundColor
sender.backgroundColor -> 색깔을 가져오는게 보인다.
이를 통해 우리가 누르는 버튼의 색깔을 가져 올 수 있다.
근데 만약 우리가 각 타이틀을 가지고 오고 싶다면!?
get the current title of button swift stackoverflow로 검색해보자
그러면 sender.titleLabel?.text라고 나온다.
sender.currentTitle로 종종 코드를 작성한다.
그러면 이 값을 매개변수로 어떻게 받을까?
func myFunction(parameter : DataType){
}
방식으로 작성하면된다.
var name : dataType = Data
데이터타입을 한번 int 형으로 선언하고 나면 str형을 넣지 못한다.
이거는 애기들이 가지고 노는 네모모양에 별,네모 모양모형을 맞는 칸에 집어넣는것을 하는 것과 같다.
그렇기 때문에 한번 할당한 변수의 성질은 영구적으로 한 데이터 타입만을 가질 수 있게 된다.
func getMilk(bottles Int){
var cos = bottles * 1.5
}
getMilk(bottles : 2)
Parameter : Argument 형식이다.
func greeting(whoToGreet : String){
print("Hello \(whoToGreet)")
}
greeting(whoToGreet: "Angela")
그렇기에 이렇게 전달해주면
우리가 원하는 대로 원하는 값을 함수로 전달해줄 수 있게 된다.
이제 배운 내용을 토대로 실로폰 소리가 다르게 만들어주자
playsound(soundName : sender.currentTitle!) 으로 전달해주면 된다.
파라미터도 위와 마찬가지로 전달해주면 된다.
이렇게 되면 우리가 선택하는 버튼의 title을 playSound로 전달해줘서 원하는 버튼의 값의 소리를 출력할 수 있게 된다!
이렇게 이번 섹션에서는 우리가 원하는 값을 함수로 전달해서 실횅하는 것을 배웠다.
habit