Notice
Recent Posts
Recent Comments
Link
투케이2K
309. (ios/objc) completion block 사용해 콜백 (callback) 메소드 구현 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : Objc
[소스 코드]
#import "ViewController.h"
// MARK: - [프로젝트-Swift.h import 명시]
#import "objectiveProject-Swift.h"
@interface ViewController ()
@end
@implementation ViewController
// MARK: - [뷰 로드 실시]
- (void)viewDidLoad {
[super viewDidLoad];
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewDidLoad() :: 뷰 로드 실시] \n");
printf("==================================== \n");
printf("\n");
}
// MARK: - [뷰 로드 완료]
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewWillAppear() :: 뷰 로드 완료] \n");
printf("==================================== \n");
printf("\n");
}
// MARK: - [뷰 화면 표시]
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewDidAppear() :: 뷰 화면 표시] \n");
printf("==================================== \n");
printf("\n");
// [콜백 메소드 호출 실시]
[self getCallBack:2 :@"투케이" :^(BOOL returnBool, NSString *returnString) {
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewDidAppear() :: 콜백 결과 확인 실시] \n");
printf("[BOOL :: %d] \n", returnBool);
printf("[NSString :: %s] \n", returnString.description.UTF8String);
printf("==================================== \n");
printf("\n");
}];
}
// MARK: - [뷰 정지 상태]
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewWillDisappear() :: 뷰 정지 상태] \n");
printf("==================================== \n");
printf("\n");
}
// MARK: - [뷰 종료 상태]
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
printf("\n");
printf("==================================== \n");
printf("[ViewController >> viewDidDisappear() :: 뷰 종료 상태] \n");
printf("==================================== \n");
printf("\n");
}
// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
-(void)getCallBack:(NSInteger)inputInt :(NSString *)inputString :(void (^)(BOOL returnBool, NSString *returnString))completion{
printf("\n");
printf("==================================== \n");
printf("[ViewController >> getCallBack() :: 콜백 메소드 수행 실시] \n");
printf("==================================== \n");
printf("\n");
// [리턴 데이터에 인풋으로 들어온 메시지 삽입]
NSString *msg = inputString;
// [짝수로 나눠지는 경우 true / 홀수인 경우 false]
if (inputInt % 2 == 0){
completion(true, msg);
}
else {
completion(false, msg);
}
}
@end
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
311. (ios/objc) NSURLSession 사용해 http 요청 수행 및 콜백 (callback) 응답 확인 (0) | 2022.11.21 |
---|---|
310. (ios/objc) dispatch_semaphore_t 세마포어 사용해 프로그램 순차적 동기 로직 구현 (0) | 2022.11.21 |
308. (ios/objc) NSTimer 타이머 사용해 실시간 카운트 실시 - timer count (0) | 2022.11.21 |
307. (ios/swift) CGPoint, CGSize, CGRect 구분 차이점 및 예제 소스 코드 작성 (0) | 2022.11.20 |
306. (ios/swift) emoji string 이모지 문자열 데이터를 UIImage 이미지로 변경 수행 실시 (0) | 2022.11.20 |
Comments