Objective-C - очень тонкая оболочка над C. Компилятор просто переводит
[obj message:argument];
в C-вызов
obj_msgSend(obj,@selector(message:),argument);
и все (где @selector(message:)
это волшебная кодировка, превращающая селектор (имя метода) в понятную компьютеру штуку.)
Таким образом, между Objective-C и C нет большой разницы с точки зрения компилятора.Например, вы можете скомпилировать чистую программу на C с помощью компилятора Objective-C, и результат будет точно таким же, как и при компиляции с помощью C-компилятора.
Итак, самый простой способ «смешать» немного Objective-C с C - это использовать расширение .m
, чтобы компилятор использовал Objective-C.
Это не делает вашу программу неожиданно очень Objective-Cy.Вы можете сохранить свою программу почти на чистом C с расширением .m
.С .m
вы можете без проблем добавить несколько строк вызовов сообщений Objective C.