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-C-y. Вы можете сохранить свою программу почти чистой C, с расширением .m
. С помощью .m
вы можете добавить несколько строк сообщений Objective-C без проблем.