Похоже, здесь есть несколько проблем, и я попытаюсь дать несколько простых советов.
Передача данных
Если вы хотите, чтобы передать объект вверх от ребенка к родителю, создать свой класс ребенка так, чтобы объект или переменным является государственной собственностью. Тогда любой другой объект (, подобный родительским объектам, владельцем которого является ребенок), может получить доступ к этому свойству.
Сохранение данных Живой
Обычно EXC_BAD_ACCESS означает, что объект уже был удален системой. Сообщите системе, которую вы хотите вставить в объект, установив «strong» в объявлении свойства, и это позаботится о вашей проблеме с EXC_BAD_ACCESS.
Посмотрите на следующий код, на примере того, как реализовать очень простую связь между родительскими/дочерними данными и сохранить данные.
//****** Child.h
@interface Child : NSObject
// Child has a public property
// the 'strong' type qualifier will ensure it gets retained always
// It's public by default if you declare it in .h like so:
@property (strong, nonatomic) NSString *childString;
@end
//****** ParentViewController.h
#import <UIKit/UIKit.h>
#import "Child.h"
@interface ParentViewController : UIViewController
@property (strong, nonatomic) Child *myChild;
@end
//****** ParentViewController.m
@implementation ParentViewController
@synthesize myChild;
- (void)viewDidLoad {
[super viewDidLoad];
// create child object
self.myChild = [[Child alloc] init];
// set child object (from parent in this example)
// You might do your owh setting in Child's init method
self.myChild.childString = @"Hello";
// you can access your childs public property
NSLog(@"Child string = %@", self.myChild.childString;
}
Вместо создания 'objectFromChild' и установки' someObject' равны ему в parentView. Почему бы не построить объект с помощью метода в parentView, а затем просто получить доступ к объекту в parentView из дочернего элемента, когда это необходимо, используя нотацию «parentView.someObject». – Kyle
Я пробовал это, но как только childview удаляется, данные в объекте (скажем, некоторые строки), которые были созданы дочерним, больше недоступны :-( – user2173784