UIViewController llamando al delegado del otro

Tengo dos UIViewController, cada uno tiene su delegado y llama a uno u otro. Una clase se llama TopicViewController y la otra es MentionViewController, el código se parece a lo siguiente:

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import <RestKit/RestKit.h>
#import "Message.h"
#import "Imgur.h"
#import "URLViewController.h"
#import "CVore.h"
#import "NSData+Base64.h"
#import "Imgur.h"
#import "ProfileViewController.h"
#import "OptionsViewController.h"
#import "Three20/Three20.h"


@class DetailViewController;
@class MentionViewController;

@protocol DetailViewControllerDelegate

- (void) viewController:(DetailViewController*)viewCon withText:(NSString *) text;

@end


@interface DetailViewController : UIViewController <MentionViewControllerDelegate>


///////////////////////////////////////////////////////////////////////////////////

#import <UIKit/UIKit.h>
#import <RestKit/RestKit.h>
#import "Members.h"
#import "DetailViewController.h"
#import "Three20/Three20.h"

@class MentionViewController;

@protocol MentionViewControllerDelegate

- (void) viewController:(MentionViewController*)viewCon withUsername:(NSString *) text;

@end


@interface MentionViewController : UITableViewController <DetailViewControllerDelegate>

Ahora el problema es que cuando agrego #import "MentionViewController.h" al DetailViewController me da el siguiente error en el MentioViewController:

Cannot find protocol declaration for DetailViewControllerDelegate.

Entiendo que esto podría deberse a referencias cíclicas, pero ¿cómo puedo resolver esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta