Objective-C는 기본적으로 C 언어의 구조를 따릅니다.
모든 Objective-C 프로그램은 main 함수에서 시작됩니다.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"subsub");
}
return 0;
}
해당 소스코드가 기본이 되는 메인 함수 입니다.
Xcode에서 Objective-C 실습하기
위에서 설명드린 방식으로 Objective-C를 만들면 초기화면으로 방금 맨 위에서 설명해드린
해당 화면이 나오게 됩니다.
Objective-C의 데이터 타입
정수 | 실수 |
char | float |
short | double |
int | long double |
long |
BOOL
BOOL boolValue = YES; |
NSLog(@"Bool value %@", boolValue ? @"YES" : @"NO"); |
열거형
enum flag { false,true}; |
구조체
CGSize |
CGPoint |
CGRect |
클래스
NSObject,NSString 등 |
NSObject *obj1; // 클래스의 객체 선언은 반드시 포인터로!! |
정적타입과 동적타입
정적타입은 변수를 선언할 때 변수의 자료형을 구체적으로 지정하는 것을 의미합니다
동적타입에는 id 라는것이 있습니다.
void * 와 유사하며 객체에 대해서만 사용합니다.
또한 어떤 클래스에서 생성한 객체도 가리킬수 있습니다.
컴파일할 때는 타입을 체크하지 않습니다.
데이터 타입 수식자와 const
데이터 타입 수식자에는
long |
long long |
short |
unsigned |
ignet |
이 있습니다.
const 수식자를 사용하여 변수를 상수처럼 처리합니다.
const int age = 20;
const char ch = 'A';
self와 super
self는 현재 동작 중인 객체 포인터를 의미합니다
super 는 부모클래스에 대한 포인터를 의미합니다.
-(void)wiewDidUnload
{
[super viewDidUnload];
self.colorNames=nil;
}
-(NSInteger)tableView:(UITableView * ) tableView numberOfRowsInSection:(NSInteger)section
{
return[self.colorNames count];
}
for문
swift의 for문은
fot i in 0...9
{
print(i)
}
입니다.
하지만 Objective-C의 for문은
#import <Foundation/Foundation.h>
int main() {
int i;
for(i=0 i<10; i++) {
NSLog(@"%d" ,i);
}
return 0;
}
입니다.
for 반복문은 몇 번 정도 반복해야 할지 아는 경우에 사용하기 적합합니다.
다만 어떠한 조건이 되기 전에 대체 몇 번 정도 반복해야 하는지 알 수 없지만, 그 조건을 만족할 때 까지는 반복해야하는 경우도 있습니다.
Objective-C는 이러한 상황에 사용하기 위해 while 반복문을 제공합니다.
while 반복문의 형식입니다.
while(조건)
{
//반복실행문장
}
Objective-C
while 조건
{
//반복실행문장
}
Swift