일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SwiftUI Boolean 값
- Protocol
- Timer
- 러닝타이머
- MKMapViewDelegate
- Xcode
- AnyObject
- UIAlertAction
- 러닝기록앱
- UICollectionViewFlowLayout
- Startign Assignments
- 단일 책임원칙
- 영문 개인정보처리방침
- WeatherManager
- RunningTimer
- xcode로 날씨앱 만들기
- 한국어 개인정보처리방침
- font book
- MKMapItem
- App Store Connect
- dispatchsource
- swift
- weak var
- weatherKit
- 서체관리자
- CLLocationManagerDelegate
- CoreLocation
- 클로저의 캡슐화
- addannotation
- Required Reason API
Archives
- Today
- Total
VesselWheel
내부 함수 : nested functions 본문
import UIKit
// 내부 함수 : nested functions
// 함수의 type : parameter -> return type
func outer() -> () -> (){
// print("outer")
// var number = 5
func inner(){
print("inner")
}
return inner
}
// 함수 외부에서 함수 내부로 직접 접근할 수 없음
// inner()
// print(number)
// outer() = inner
let f1 = outer()
f1()
func outer2() -> () -> (){
var num1 = 10
var num2 = 20
var num3 = 30
print("num1 :",num1)
func inner(){
// 내부함수에서 외부함수의 지역변수 사용
print(num2, num3)
}
return inner
}
let f2 = outer2()
f2()
/*
closure
외부함수가 return 해서 종료되어도
내부함수가 외부함수의 지역변수를 사용하는 경우,
내부함수의 실행을 위해서 이 지역변수들은
메모리에 남겨두어야 함
ㄴ 이 메모리 영역을 클로저라고 함
*/
'Xcode Study' 카테고리의 다른 글
값 캡쳐하기 : capturing values (0) | 2023.10.16 |
---|---|
Closure (0) | 2023.10.16 |
function type - 함수의 자료형(2/2) (0) | 2023.10.16 |
function type - 함수의 자료형(1/2) (1) | 2023.10.14 |
In-Out paramters// 입출력 파라미터 (0) | 2023.10.14 |