У меня есть 3 объекта: A, B и C.
A и C обмениваются данными через B по двум протоколам (скажем, A1 и C1), реализованным B.
В частности, интерфейс А:
@interface A : NSObject {
id <A1> willBe_B;
}
@property (nonatomic, assign) id <A1> willBe_B;
Интерфейс C:
@interface C : UIViewController {
IBOutlet UITableView *exportTableView;
id <C1> willBe_B;
}
@property (nonatomic, assign) id <C1> willBe_B;
Интерфейс B:
@interface B : UIViewController <A1, B1> {
A *refToA;
C *refToC;
}
@property (nonatomic, retain) A *refToA;
@property (nonatomic, retain) C *refToC;
C viewController управляет таблицей (данные извлекаются из NSMutableArray в делегате приложения): пользователь может проверять / снимать отметку с строки в этой таблице.
Я бы сохранил в C индексы, соответствующие выбранным пользователем строкам, таким образом, чтобы A мог использовать их для экспорта соответствующих данных.
Я не знаю, что может быть правильным способом сделать это.