Я бы использовал делегат приложения. Или, если одному представлению принадлежит другое, вы можете инициализировать их вместе и сохранить основную ссылку на него в классе.
Мне всегда полезно иметь глобальный объект Context для хранения глобальной информации среди представлений. Это может быть информация о конфигурации, текущая ориентация устройства, обработчики базы данных и т. Д.
Для переменных, для которых требуется перекрестный доступ, вы можете использовать Свойства.
class VC1 : UIViewController {
NSString* v1;
NSString* v2;
}
@property (copy) NSString *v1;
@property (copy) NSString *v2;
А затем, в другом представлении:
class VC2 : UIViewController {
VC1 *vc1;
}
И в ваших реализациях сообщений в VC2 вы можете использовать VC1 v1 и v2 следующим образом:
- (void) someMessage {
NSLog(@"VC1's v1 value is %@ and v2 value is %@", [vc1 v1], [vc1 v2]);
}
Надеюсь, это поможет.