Notice
Recent Posts
Recent Comments
Link
투케이2K
3. (Objective-C/objc) 기본 void , return 함수 (메소드) 구현 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : OBJECTIVE-C
[ViewController.h]
#import <UIKit/UIKit.h>
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. ViewController (선언부)
2. 전역변수 , 메소드 , 인스턴스변수 (클래스 생성자) 선언
// -----------------------------------------
*/
// -----------------------------------------
@interface ViewController : UIViewController
// -----------------------------------------
// -----------------------------------------
/*
MARK: [요약 설명]
1. 클래스 메소드
- 헤더 파일에 클래스 메소드 선언 시 다른 클래스에서도 호출해서 사용가능합니다
- 클래스 메소드를 사용하기 위해서는 [클래스명 메소드명]; 으로 구현(m) 부분에서 사용할 수 있습니다
2. 인스턴스 메소드
- 헤더 파일에 선언 후 실제 구현(m) 부분에서 호출해서 사용가능하며,
헤더 파일에 선언 없이 구현(m) 부분에서 즉시 선언 및 구현 해서 사용할 수 있습니다
- 인스턴스 메소드를 사용하기 위해서는 [self 메소드명]; 으로 구현(m) 부분에서 사용할 수 있습니다
- 다른 클래스에서 인스턴스 메소드를 사용하기 위해서는 객체 생성 후 메소드를 호출해서 사용할 수 있습니다 (alloc)
*/
// -----------------------------------------
// MARK: [[static] 클래스 메소드 [선언] : void : not input]
+ (void)classVoidFunction;
// MARK: [[static] 클래스 메소드 [선언] : return : input]
+ (NSInteger)classSumFunction: (NSInteger)oneData :(NSInteger)twoData;
// -----------------------------------------
// MARK: [[self/객체생성] 인스턴스 메소드 [선언] : void : not input]
- (void)insVoidFunction;
// MARK: [[self/객체생성] 인스턴스 메소드 [선언] : return : input]
- (NSInteger)insSumFunction: (NSInteger)oneData :(NSInteger)twoData;
// -----------------------------------------
@end
// -----------------------------------------
[ViewController.m]
#import "ViewController.h"
// MARK: - [헤더 [선언부] 호출]
@interface ViewController ()
@end
@implementation ViewController
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. ViewController (구현부)
2. ios 13 이상 사용 : API_AVAILABLE(ios(13.0))
// -----------------------------------------
*/
// 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 testMain];
}
// 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)testMain {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
// MARK: - [[static] 클래스 메소드 [호출] : void : not input]
[ViewController classVoidFunction];
// MARK: [[static] 클래스 메소드 [선언] : return : input : 일반]
NSInteger clssSum = [ViewController classSumFunction:10 :20];
printf("\n");
printf("=============================== \n");
printf("[clssSum [결과] :: %d] \n", clssSum);
printf("=============================== \n");
printf("\n");
// MARK: - [[self] 인스턴스 메소드 [호출] : void : not input]
[self insVoidFunction];
// MARK: - [[객체생성] 인스턴스 메소드 [호출] : void : not input]
ViewController *vc = [[ViewController alloc] init];
[vc insVoidFunction];
// MARK: [[self] 인스턴스 메소드 [선언] : return : input : 일반]
NSInteger insSum = [self insSumFunction:30 :40];
printf("\n");
printf("=============================== \n");
printf("[insSum [결과] :: %d] \n", insSum);
printf("=============================== \n");
printf("\n");
}
// MARK: - [[static] 클래스 메소드 [구현] : void : not input]
+ (void)classVoidFunction {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> classVoidFunction() :: void 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
}
// MARK: [[static] 클래스 메소드 [선언] : return : input]
+ (NSInteger)classSumFunction: (NSInteger)oneData :(NSInteger)twoData {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> classSumFunction() :: return 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
return (oneData + twoData);
}
// MARK: - [[self/객체생성] 인스턴스 메소드 [선언] : void : not input]
- (void)insVoidFunction {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> insVoidFunction() :: void 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
}
// MARK: [[self/객체생성] 인스턴스 메소드 [선언] : return : input]
- (NSInteger)insSumFunction: (NSInteger)oneData :(NSInteger)twoData {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> insSumFunction() :: return 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
return (oneData + twoData);
}
// -----------------------------------------
@end
// -----------------------------------------
[결과 출력]
반응형
'Objective-C' 카테고리의 다른 글
6. (Objective-C/objc) for , while true 무한 루프 반복문을 사용해서 카운트 수행 실시 (0) | 2022.02.18 |
---|---|
5. (Objective-C/objc) NSMutableArray 가변 배열 사용해 데이터 삽입 , 변경 , 삭제 수행 실시 (0) | 2022.02.18 |
4. (Objective-C/objc) property 프로퍼티 사용해 변수 선언 및 get , set 데이터 지정 및 호출 실시 (0) | 2022.02.18 |
2. (Objective-C/objc) Xcode Objective-C 프로젝트 기본 구조 설명 및 기본 코드 첨부 (0) | 2022.02.15 |
1. (Objective-C/objc) Xcode 사용해서 프로젝트 생성 방법 설명 (0) | 2022.02.15 |
Comments