> On 7 Sep 2016, at 11:09 AM, Andreas Falkenhahn <andr...@falkenhahn.com> wrote:
> 
> As a C programmer I'm trying to avoid Objective C whenever and wherever 
> possible.
> The good thing is that I can do most interaction with Cocoa from normal C 
> functions.
> I only had to write very few classes. Most of the Cocoa stuff can be done
> from normal C functions just fine.

I shall little more than observe that “C programmer” is an odd definition of a 
professional identity. To my ear (not knowing you well), it’s like saying “I 
drink liquids.”

I kind of get it, as I claim an identity as an Apple-platform developer, but 
I’d argue it describes a different kind of expertise, and in my case a strong 
political tendency. Drawing the line at C surprises me.

Now let me actually respond to what you wrote.

> Still, I'm wondering: Is it also possible to have NSNotificationCenter call
> a C function for me whenever the notification triggers? Can this somehow
> be achieved or am I forced to use full Objective C here?

NSNotificationCenter has a method in the form of addObserver: ... using:, which 
takes a block. Blocks can contain pure C. I’d bet you’d normally consider 
anything gcc accepts (as an extension to the C parser) to be your idea of C.

The older form takes a selector. Selectors are keys for dispatching through an 
Objective-C class to its methods. I know of no supported way to dispatch a 
method selector without a class to select the method from. (Unless you hack the 
C runtime by… reimplementing the Objective-C runtime and hoping you’ve covered 
all architectures and runtimes.)

        — F


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to