1-1 개요
Objective-C는 프로그래밍 언어에 스몰토크 스타일의 메시지 구문을 추가한 객체지향 언어이다. Swift가 만들어지기 이전에 애플의 매킨토시의 OS인 OSX와 아이폰의 운영체제인 IOS에서 사용되었다. 원래는 배울 생각이 전혀 없었는데 회사에서 Objective-C 기반의 코드를 Swift로 변환을 해야된다고 그래서 공부를 하기로 결심했다. IOS를 개발하면서 나쁠건 없다고 생각하기 때문에 포스팅을 시작하려고 한다.
1-2 NSLog
console에 출력하는 함수이다.
NSLog(@"포맷문자", 인자)로 사용하면 된다. 포맷문자는 C언어랑 똑같다.
- 정수형 : %d, %u(unsigend), %ld, %lu(unsigned)
- 실수형 : %f, %e(지수형)
- 16진수, 8진수 : %x, %o
- 객체형 %@
Example
NSLog(@"Hello, Objective-C!"); //Hello, Objective-C!
NSLog(@"%d + %d = %d", 1, 2, (1+2)); //1 + 2 = 3
1-3 변수
원하는 타입에 키워드를 선언하고 변수이름을 저장한 뒤 값을 저장하면 된다. Swift와 다르게 변수와 상수 개념이 없이 다 변수로 자동으로 지정이된다. 배열도 마찬가지로 변수명 뒤에 공간을 같이 선언하면 배열타입이 된다.
Example
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int val_integer = 0;
float val_float = 0.0f;
double val_double = 0.0;
char val_char = 'C';
int int_array[3] = {1, 5, 4};
float float_array[2] = {0.1f, 0.8353f};
double double_array[4] = {0.00343, 0.3324, 0.124214, 0.2415};
char char_array[5] = {'h', 'e', 'y', '!', '\n'};
NSLog(@"Before Change");
NSLog(@"val_integer : %d", val_integer);
NSLog(@"val_float : %f", val_float);
NSLog(@"val_double : %lf", val_double);
NSLog(@"val_char : %c", val_char);
NSLog(@"int_array[0] : %d, int_array[0] : %d, int_array[0] : %d", int_array[0], int_array[1], int_array[2]);
NSLog(@"float_array[0]: %f, float_array[1]: %f ", float_array[0], float_array[1]);
NSLog(@"double_array[0]: %lf, double_array[1]: %lf, double_array[2]: %lf, double_array[3]: %lf", double_array[0], double_array[1], double_array[2], double_array[3]);
NSLog(@"char_array[0]: %c, char_array[1]: %c, char_array[2]: %c, char_array[3]: %c, char_array[4]: %c", char_array[0], char_array[1], char_array[2], char_array[3], char_array[4]);
val_integer = 00;
val_float = 43.51f;
val_double = 14.3251341;
int_array[2] = 3;
float_array[0] = 0.321f;
double_array[2] = 123.12312;
char_array[3] = 'r';
NSLog(@"After Change");
NSLog(@"val_integer : %d", val_integer);
NSLog(@"val_float : %f", val_float);
NSLog(@"val_double : %lf", val_double);
NSLog(@"val_char : %c", val_char);
NSLog(@"int_array[0] : %d, int_array[0] : %d, int_array[0] : %d", int_array[0], int_array[1], int_array[2]);
NSLog(@"float_array[0]: %f, float_array[1]: %f ", float_array[0], float_array[1]);
NSLog(@"double_array[0]: %lf, double_array[1]: %lf, double_array[2]: %lf, double_array[3]: %lf", double_array[0], double_array[1], double_array[2], double_array[3]);
NSLog(@"char_array[0]: %c, char_array[1]: %c, char_array[2]: %c, char_array[3]: %c, char_array[4]: %c", char_array[0], char_array[1], char_array[2], char_array[3], char_array[4]);
}
return 0;
}
—출력결과
로그를 사용할 때 정말 귀찮지만 대학교 1학년 때 C언어를 배운사람이라면 아주 쉽게 변수 선언과 출력정도는 손쉽게 할 수 있을 것 같다.
1-4 실수표현 방법
—Example
int main(int argc, const char * argv[]) {
@autoreleasepool {
double val_double = 12352.336324;
NSLog(@"%%lf : %lf", val_double);
NSLog(@"%%.3lf : %.3lf", val_double);
NSLog(@"%%10.3lf : %10.3lf", val_double);
NSLog(@"%%10lf : %10lf", val_double);
NSLog(@"%%-15lf : %-15lf", val_double);
}
return 0;
}
- %lf : 실수를 있는 그대로 출력
- %.3lf : 실수를 출력하되 소수 3번째 자리까지만 출력
- %10.3lf : 총 10개의 칸에 출력을 하되 소수점은 3번째 자리까지만 출력
- %10lf : 총 10개의 칸에 수를 출력
- %-15lf : 총 15개의 칸에 수를 출력하되 오른쪽 정렬로 수를 출력
—출력 결과
1-5 마치며...
오늘은 가장 기초가 되는 출력하는 방법과 변수의 표현 방법 다양한 실수의 출력방법을 공부했다. 확실히 옛날 언어라 그런지 가독성이 많이 떨어지는 부분이 아쉽지만 어서 빨리 습득을 해서 *.m 파일과 *.h 파일이 모두 *.swift로 바뀌었으면 좋겠다. 다음 포스팅은 class와 instance 부분을 집중적으로 다룰 예정이다.
Uploaded by Notion2Tistory v1.1.0