Я создаю приложение утилиты, которое делится данными между основным видом и флип-представлением. На самом деле, это не совсем флип-представление, которое хранит данные, это настраиваемый вид, который является экземпляром флип-представления при загрузке. Я объяснил особенности в своем предыдущем потоке here, но у меня пока нет решения. И я переработал свой код, надеюсь, на этот раз я мог бы прояснить ситуацию.Использование делегата для передачи данных между представлениями
Общая концепция здесь заключается в том, что я создаю и сохраняю данные в своем основном представлении и передаю их на вид с переворотом, используя предопределенный делегат в FlipViewController. Затем в FlipViewController я храню данные в своем собственном делетете и передаю его в пользовательское представление, которое реализует мой собственный метод делегирования. Ниже перечислены основные части кода.
MainViewController.m
(только принимает <FlipsideViewControllerDelegate>
протокол)
- (IBAction)showInfo:(id)sender {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;
controller.chart = data;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
FlipsideViewController.h
@protocol FlipsideViewControllerDelegate;
@protocol ChartDelegate;
@interface FlipsideViewController : UIViewController {
id <FlipsideViewControllerDelegate> delegate;
id <ChartDelegate> delegate2;
DataModel *chart;
}
@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;
@property (nonatomic, assign) id <ChartDelegate> delegate2;
@property (nonatomic, retain) DataModel *chart;
- (IBAction)done:(id)sender;
@end
@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end
@protocol ChartDelegate <NSObject>
- (void)getParams:(DataModel *)dataModel;
@end
FlipsideViewController.m
@synthesize delegate, delegate2;
@synthesize chart;
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
if ([delegate2 respondsToSelector:@selector(getParams:)]) {
[delegate2 getParams:chart];
}
}
customDrawing.h
@interface customDrawing : UIView <ChartDelegate>{
DataModel *chartData;
}
@property (nonatomic, retain) DataModel *chartData;
@end
customDrawing.m
@synthesize chartData;
-(void)getParams:(DataModel *)dataModel{
chartData = dataModel;
}
Оказывается, что данные не получить передается объекту chartData в моей настраиваемое представление. ПОМОГИТЕ?
Почему не абстрактные модели из вашей точки зрения и имеют обе точки зрения наблюдения модель? Просмотров не должны хранить данные ... – Stephen