Notice
Recent Posts
Recent Comments
Link
투케이2K
84. (Objective-C/objc) __block 사용해 클로저 closure 함수 동작 및 내부 로직 처리 수행 실시 본문
Objective-C
84. (Objective-C/objc) __block 사용해 클로저 closure 함수 동작 및 내부 로직 처리 수행 실시
투케이2K 2022. 9. 22. 08:52[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : OBJECTIVE-C
[소스 코드]
// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
printf("\n");
printf("==================================== \n");
printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
printf("==================================== \n");
printf("\n");
/*
------------------------------------
[요약 설명]
------------------------------------
1. __block : objc 클로저 closure 의 개념을 도입하기 위해서 만들어진 블럭 코드 부분입니다
------------------------------------
2. 클로저는 func 함수 동작 및 내부 로직 처리를 간략 표현 및 수행할 수 있습니다
------------------------------------
*/
// [try catch 구문 정의 실시]
@try {
// [초기 변수 선언 실시]
__block int sum = 0;
// [내부 로직 처리 수행 실시]
void (^getSum)(int, int) = ^(int x, int y) {
sum = x + y;
};
// [getSum 호출]
getSum(10, 20);
// [로그 출력 실시]
printf("\n");
printf("==================================== \n");
printf("[ViewController >> try :: 로직 처리 결과 확인] \n");
printf("[sum :: %d] \n", sum);
printf("==================================== \n");
printf("\n");
}
@catch (NSException *exception) {
printf("\n");
printf("==================================== \n");
printf("[ViewController >> catch :: 예외 상황 확인] \n");
printf("[name :: %s] \n", exception.name.description.UTF8String);
printf("[reason :: %s] \n", exception.reason.description.UTF8String);
printf("==================================== \n");
printf("\n");
}
}
[결과 출력]
반응형
'Objective-C' 카테고리의 다른 글
Comments