Итак, откуда вы получаете это (и причина, по которой вы получаете это 3 раза), - у вас есть ошибка в ваших определениях протокола. У вас есть:
//This is in protocol_C.h file
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@protocol protocol_C
{
}
-(void)methodinC;
@end
Вы не можете объявлять членов класса в протоколе: только методы. Из-за этого вам не нужны (и, как вы обнаружили) не может быть фигурные скобки в определении протокола. Таким образом, вам нужно это для определения протокола:
//This is in protocol_C.h file
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@protocol protocol_C
-(void)methodinC;
@end
Удаление их должно решить вашу проблему.
При создании новых файлов я всегда выполняю процесс создания новых классов в Xcode, поскольку он часто дает много удобных вещей. Вот содержание нового объявления protocol_D, нового из Xcode:
#import <Cocoa/Cocoa.h>
@protocol protocol_D
@end
Надеюсь, это поможет!
TL; DR: в определениях протоколов нигде не должно быть фигурных скобок.