iOS/Swift 문법

[Swift] func에 대한 이해(쉽게...)

Chafle 2022. 10. 28. 00:01
반응형

기본형

 

func 함수이름(매개변수이름: 매개변수타입, 매개변수이름: 매개변수타입) -> 반환티입 {
함수 구현
return 반환값
}

 

 

쉬운 예

func sum(a: Int, b: Int) -> Int {
return a + b
}

위의 코드는 무엇을 의미하는가

return의 의미는 반환값 = 반환타입이 일치해야한다.

 => a+b를 Int형태로 반환해라

 

 

그렇다면 매개변수는 쉽게 무엇을 의미하는가?

내가 이 함수를 사용할 때 입력할 값을 알아보기 쉽게 표현 한 값

 

쉬...운 예

func 심부름하기(빵: Int, 우유: Int) {

}

심부름하기 함수를 실행해야되는데 오늘은 빵과 우유를 몇 개씩 사오라고 할 것인가 

 

 

중급 에

 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "TaskTableViewCell", for: indexPath)
        cell.textLabel?.text = self.filteredTasks[indexPath.row].title
        return cell
    }

tableview를 짜다보면 많이 볼 수 있는 함수다

 

천천히 살펴보면.. 

tableview의 매개변수는 UITableVeiw 타입

Cel ForRowAt indexPath 매개변수는 IndexPath 타입이다

반환타입은 UITableViewCell이다

 

dequeueResusableCell을 cell에 할당하고

cell을 반환하는데 그 cell은 UITableViewCell이다.

 

결론: 위 함수를 실행하면 큰 맥락에서 UITableCeiwCell에 reusableCell이 할당된다

 

 

 


이렇게만 돼있는 함수는 뭘까?

func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입) {
함수구현
}

 

ex

func printMyName(name: String) {
print(name)
}

 

반환타입이 없고

반환값도 없는 함수이다.

굳이 return을 안써줘도 된다.

 


아래와 같은 경우는?

func 함수이름() -> 반환타입 {
함수구현
return 반환값

}

 

매개변수가 없으면 괄호 안을 비워주면 된다.

 

ex.

func calculateMinValue() -> Int {
return Int.Min
}

 


점점다양하게 생략이 가능해진다.

func 함수이름() {
print("hi")
}
반응형