В этом примере я предполагаю, что у вас есть определения классов nib1.h / nib1.m / nib1.xib & nib2.h / nib2.m / nib2.xib
Вы должны создать свойства в nib2 для полученияданные в nib 2.
Чтобы получить данные из nib 2 обратно в nib 1, вы должны определить протокол делегата, сделать так, чтобы nib 1 реализовал его, и установить его как делегат nib 2.
nib2.h будет выглядеть примерно так:
@protocol Nib2Delegate;
@interface Nib2 : UIViewController {
id <Nib2Delegate> delegate;
}
@property (nonatomic, assign) id <Nib2Delegate> delegate;
@end
@protocol Nib2Delegate
- (void)myMethod;
@end
в Nib1.h у вас будет:
#import "Nib2.h"
@interface Nib1 : UITableViewController <Nib1Delegate> {
}
- (void)myMethod;
@end
в Nib1.m
Nib2 *nib2 = [[Nib2 alloc] initWithNibName:@"Nib2" bundle:nil];
nib2.delegate = self;
Тогда вы реализуете myMethodв Nib1.m.Если вы хотите позвонить в Nib2.m, это будет выглядеть как
[delegate myMethod];