An interesting exercise in masochism, but also fun in a way. Since you can’t directly include Objective-C APIs in C the author took to straight up using the C level Objective-C runtime calls to perform message passing under the Objective-C runtime. Have a read through the code for yourself to see how it’s done.

https://github.com/richardjrossiii/CBasediOSApp