tarnfeld
tarnfeld

Reputation: 26566

Objective-C Class Question?

My head is about to explode with this logic, can anyone help?

Class A #imports Class B. Class A calls Method A in Class B.

This works great

Class B wants to send a response back to Class A from another method that is called from Method A. If you #import Class A from Class B, it is in effect an infinite loop and the whole thing crashes.

Is there a way to do this properly, like a parent type thing?

BTW, I'm developing for iPhone.

EDIT When i #import Class A from Class B i get this compiler error...

error: expected specifier-qualifier-list before 'StoreHoursCore'

Any ideas?

Upvotes: 1

Views: 286

Answers (2)

Brock Woolf
Brock Woolf

Reputation: 47302

Use @classto forward declare it as a class. This hints the compiler to know that it is a class, without having to cross include and compile the class multiple times (the reason you are getting your error). ie:

@class myClass;

The #importpreprocessor directive has protection against multiple includes, but the #include directive does not.

Upvotes: 3

Jacob Relkin
Jacob Relkin

Reputation: 163298

I believe that using the @class directive should solve your issue.

Using @class forward declares your class type in order that the compiler doesn't cough.

Take a look at this question on SO.

Upvotes: 6

Related Questions