1. xcode를 통해 Objective-C로 프로젝트 새로 만들기

 

 

 - 프로젝트명은 무엇을 해도 상관없습니다.

 

 

 

 

2. 디렉토리 구조

 

 필자의 경우, Utils 그룹 생성 및 TestUtils.m과 TestUtils.h 파일을 생성했습니다.

 Utils 그룹(=폴더)는 Method를 파일로 따로 모아두기 위해 생성합니다.

 

 

 

 

 

 

3. TestUtils 파일 코드 작성하기

 

 - TestUtils.h에 2개의 메소드 선언

#ifndef TestUtils_h
#define TestUtils_h

NSInteger addValues(NSInteger value1, NSInteger value2);
NSString* addStrings(NSString* value1, NSString* value2);

#endif /* TestUtils_h */

 

 - TestUtils.m에 그 2개의 메소드 내부 구현

#import <Foundation/Foundation.h>
#import "TestUtils.h"

NSInteger addValues(NSInteger value1, NSInteger value2) {
    return value1 + value2;
}

NSString* addStrings(NSString* value1, NSString* value2){
    return [NSString stringWithFormat:@"%@ %@", value1, value2];
}

 

 

 

 

 

 

 

 

4. ViewController 파일 코드 작성하기

 

 - Utils/TestUtils.h를 import하기

#import <UIKit/UIKit.h>
#import "Utils/TestUtils.h"

@interface ViewController : UIViewController

@end

 

 - ViewController.h에서 Utils/TestUtils.h를 import했으므로

 - ViewController.m에서 Ytils/TestUtils.m에서 구현된 메소드들을 사용할 수 있습니다. 

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    long sum = addValues(2, 3);
    NSLog(@"sum = %li", sum);
    
    NSString *concat = addStrings(@"hello~", @"bryan~");
    NSLog(@"%@", concat);
}


@end

 

 

 

 

 

5. 실행해서 중간 점검하기

 

 - Command + r 을 눌러 실행해보기

 화면에는 아무것도 보이지 않지만, 콘솔에는 결과가 출력되는 것을 확인할 수 있습니다.

 

 

 

 

 

6. class(=interface) 파일로 빼기

 

 - TestUtils.h 파일 수정

인스턴스 메소드 생성은 -

클래스 메소드 생성은 +

#ifndef TestUtils_h
#define TestUtils_h

@interface TestUtil : NSObject

@property NSString *firstName;
@property NSString *lastName;

- (void)setInfoWithValue:(NSString*)value1 secondValue:(NSString*)value2;
- (void)printInfo;
+ (int)getYearOfBirth:(int)currentYear age:(int)age;

@end

#endif /* TestUtils_h */

 

 - TestUtils.m 파일 수정

#import <Foundation/Foundation.h>
#import "TestUtils.h"

@implementation TestUtil

-(void)setInfoWithValue:(NSString *)value1 secondValue:(NSString *)value2 {
    self.firstName = value1;
    self.lastName = value2;
}

-(void)printInfo{
    NSLog(@"%@ %@", self.firstName, self.lastName);
}

+(int)getYearOfBirth: (int)currentYear age:(int)age {
    return currentYear - age - 1;
}

@end

 

 - ViewController.m 파일 수정

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    TestUtil *testUtil = [[TestUtil alloc] init];
    [testUtil setInfoWithValue:@"Hello" secondValue:@"Harry~"];
    [testUtil printInfo];
    
    int yearOfBirth = [TestUtil getYearOfBirth:2023 age:26];
    NSLog(@"너는 %i년에 태어났다.", yearOfBirth);
}

@end

 

 

 

 

 

7. 실행 결과 확인

 

 - 정상적으로 문구 출력 확인

 

Hello Harry~

너는 1996년에 태어났다.

 

 

 

+ Recent posts