빙수왕의 개발일지

main.m의 main함수는 왜 main(void)가 아닐까? 본문

개발/iOS

main.m의 main함수는 왜 main(void)가 아닐까?

빙수킹 2021. 2. 11. 03:38

main.m

objc는 c계열이라서 진입점 함수가 필요하다.

진입점 함수는 main.m 파일의 int main(int argc, char *argv[])이다.

int main(int argc, char argv)

 

파라미터가 있는 이유 → IOS는 UNIX기반이라 UNIX에서 사용하는 그대로 main형태 사용한다.

 

이것의 결과로 리턴되는 UIApplication 객체 → shared에 저장된다.

그리고 shared가 가지고 있는 shared.delegate 도 할당된다.

return UIApplication(1,2,3,4)

3 → UIApplication의 클래스이름

4 → UIApplicationDelegate의 클래스 이름

둘다 nil 하면 이름 그대로(UIApplication, AppDelegate) 간다.