개발/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) 간다.