In Objective C @class is used for forward declaration. It tells the compiler that there’s a class of that name. we can use it in the interface declarations.
Lets see the sample code below.
In the above sample code, we have a interface example, data variable to that interface is object of another interface forwardDemo. But example interface dont know the declaration/existance of the forwardDemo interface, this is because example is declared before forwardDemo interface. To overcome this problem, we need to use the forward declaration. In objective C which is achieved by using @class keyword. Solution for the above is given below.
Lets see the sample code below.
@interface example : NSObject { //compiler dont know where this class located forwardDemo *obj; } @end @interface forwardDemo : NSObject { //data } @end
In the above sample code, we have a interface example, data variable to that interface is object of another interface forwardDemo. But example interface dont know the declaration/existance of the forwardDemo interface, this is because example is declared before forwardDemo interface. To overcome this problem, we need to use the forward declaration. In objective C which is achieved by using @class keyword. Solution for the above is given below.
//forward declaration @class forwardDemo; @interface example : NSObject { forwardDemo *obj; } @end @interface forwardDemo : NSObject { //data } @end