[Udemy] Section 7

서희찬·2022년 5월 25일
0

swift

목록 보기
10/17
post-thumbnail

이번 시간에는 실로폰 앱을 만들어보자.
이번 섹션을 우리는 아래의 차례로 진행할 예정이다!

  • Setup the Skeleton Project
  • Figure out how to play sound using Apple Documentation and StackOverflow
  • Learn about Swift Functions
  • Linking multiple elements to one IBAction
  • Creating functions with inputs
  • Play different sounds for different buttons

  • google
  • stackoverflow
  • Implement
  • Docs
  • Customise

google

Search Structure

What I want my app to do + Which programming Language + Which resource 방식으로 검색하는것을 추천한다.
예시를 보자.
play sound Swift StackOverflow 를 검색해보자.

stackoverflow

스택오버플로우 reputation도 포폴에서 어필할 수 있다..

Implement

documantation

https://developer.apple.com/documentation/
에서 우리가 찾은 키트의 용도 확인이 가능하다.

매번 우리가 궁금한것을 도큐멘테이션에서 찾아보는 능력이 중요하다.
이를 통해 이해하면 코드를 훨 더 이해하기 좋다.

옵션버튼이랑 같이 궁금한걸 누르면 그 함수에 대한 설명을 해준다.

Customize

가져온 코드에는 내가 원하는 기능이 없을 수 있고 이것은 내코드가 아니기에 내 코드로 필요한 기능들을 만드는 과정이 필요하다.
이것이 아마 스위프트 프로그래밍에서 제일 까다로운 점일것이다!

이 과정들을 잘 해결해나가는 것이 스위프트 코딩이다.

Function

함수를 작성하는 이유는 무엇일까?
반복된 작업을 하는 앞으로,뒤로 가는 로봇이 있다고 생각해보자
이런 것들은 하나하나 작성하면 뭐 별일 아니겠지만
이런것들이 점점 반복되어서 쌓이고 이것을 매일 해야하는 반복성이 있다면
우리는 매번 같은 코드를 작성해야한다.
이런 반복작업을 없애기 위해서
우리는 함수를 만든다.

func greeting(){
	print("hello")         
    }

이렇게 작성하면 함수를 작성한것이다.
하지만 아직 실행해도 내가 지정한 함수가 작동안하는데 그 이유는 바로 호출을 안해줬기때문이다.
그렇기 때문에

func greeting(){
	print("hello")         
    }
greeting() 

을 작성하면 함수호출이되어서 우리가 원하는 것이 출력되게 된다.

함수예제


간단히 함수를 사용해보는 예제이다.

Scope

이런식으로 함수 안에 있는 변수의 범위는 그 함수로 한정된 지역변수이기 때문에 다른 함수에서 사용이 불가하다.


이런 방식으로 하나하나씩 액션을 연결해줄 수 있다.
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로 전달해줘서 원하는 버튼의 값의 소리를 출력할 수 있게 된다!

이렇게 이번 섹션에서는 우리가 원하는 값을 함수로 전달해서 실횅하는 것을 배웠다.

angela

habit

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글