반응형
Implementation 의 함수만들기
예) 파라메터와 리턴값이 없는 것
함수타입(리턴타입)함수명
-(void)printInfo
// .h
@interface TestUtil : NSObject
- (void)printInfo;
@end
// .m
@implementation TestUtil
-(void)printInfo{
NSLog(@"hello-bryan");
}
@end
// 사용
TestUtil *testUtil = [[TestUtil alloc] init];
[testUtil printInfo];
// hello-bryan
예) 파라메터와 리턴값이 있는 것
함수타입(리턴타입)함수명:(파라메터1의 타입)파라메터명 두번째파라메터별칭:(두번째파라메터타입)두번째파라메터명
-(NSString*)setInfoWithValue:(NSString *)value1 secondValue:(NSString *)value2
// .h
@interface TestUtil : NSObject
- (NSString*)setInfoWithValue:(NSString*)value1 secondValue:(NSString*)value2;
@end
// .m
@implementation TestUtil
-(NSString*)setInfoWithValue:(NSString *)value1 secondValue:(NSString *)value2
{
return [NSString stringWithFormat:@"%@ %@", value1, value2];
}
@end
// 사용
TestUtil *testUtil = [[TestUtil alloc] init];
NSString *str = [testUtil setInfoWithValue:@"hello" secondValue:@"bryan"];
NSLog(@"%@", str);
// hello bryan
클래스함수 ( static 함수)
+ (int)getYearOfBirth:(int)currentYear age:(int)age;
@interface TestUtil : NSObject
+ (int)getYearOfBirth:(int)currentYear age:(int)age;
@end
@implementation TestUtil
+ (int)getYearOfBirth:(int)currentYear age:(int)age
{
return currentYear - age + 1;
}
@end
// 사용
int age = [TestUtil getYearOfBirth:2022 age:20];
NSLog(@"%i", age);
// 2003
함수 만들기
//
// TestUtils.h
// RealmTest
//
// Created by USER on 2022/02/05.
//
#ifndef TestUtils_h
#define TestUtils_h
int addValues2(int value1, int value2);
NSInteger addValues(NSInteger value1, NSInteger value2);
NSString* addStrings(NSString* value1, NSString* value2);
#endif /* TestUtils_h */
//
// TestUtils.m
// RealmTest
//
// Created by USER on 2022/02/05.
//
#import <Foundation/Foundation.h>
#import "TestUtils.h"
int addValues2(int value1, int value2){
return value1 + value2;
}
NSInteger addValues(NSInteger value1, NSInteger value2){
return value1 + value2;
}
NSString* addStrings(NSString* value1, NSString* value2){
return [NSString stringWithFormat:@"%@ %@", value1, value2];
}
사용
//
// ViewController.m
// RealmTest
//
// Created by USER on 2022/02/05.
//
#import "ViewController.h"
#import "Utils/TestUtils.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
int sum1 = addValues2(1, 2);
NSLog(@"sum1 = %i", sum1);
// 3
long sum2 = addValues(2, 3);
NSLog(@"sum2 = %li", sum2);
// 5
NSString *concat = addStrings(@"hello~", @"bryan~");
NSLog(concat);
// hello~ bryan~
}
@end
728x90
반응형
'IOS (Swift, Objective-c)' 카테고리의 다른 글
[IOS] Realm Studio 설치하기 (0) | 2022.08.16 |
---|---|
[IOS] M1 에서 pod install 시 ruby 관련 오류 (0) | 2022.08.13 |
[IOS] [Objective-C] Date Formatting, 날짜포멧 (0) | 2022.02.08 |
[IOS] [Objective-C] 10진수를 16진수 문자열로 바꾸기 (0) | 2022.02.06 |
[IOS] Objective-C Random String, UUID (0) | 2022.02.06 |
댓글