0

我有两个类,一个是 addAlarm,第二个是 Name,,,

现在我在 addAlarm 中(addAlarm 是 UITableViewController 的子类),因为它选择了行,然后它转到 Name 类,如下所示

        Name *ob = [[Name alloc] initWithStyle:UITableViewStyleGrouped];
        [self.navigationController pushViewController:ob animated:YES];

        [ob release];
        ob = nil;

然后有 UINavigationBar 默认带有 addAlarm 作为后退按钮,而 Name 也是 UITableViewController 的子类

我观察到,当我单击 Name 中的 addAlarm 后退按钮时,它会返回到 addAlarm,并调用其 viewWillAppear 方法,但之后它会调用

         - (void)viewDidUnload

         - (void)dealloc

的名称类。

我无法理解为什么它在执行 addAlarm 的 ViewWillApear 之后调用 Name 的方法,有什么想法吗?

4

1 回答 1

1

而不是在 dealloc 方法中传递数据您可以在下面的方法中传递数据。

-(void)viewWillDisappear:(BOOL)animated{

}

另一种方法是将其存储在 appDelegate 文件中,如下所示。

在 appDelegate.h 文件中

NSString *strName;

@property (nonatomic, 保留) NSString *strName;

在 appDelegate.m 文件中

@synthesize strName;

现在,您可以在 NameController 中创建 Application 对象,如下所示

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 

并像这样存储价值

appDelegate.strName = @"Value to be passed to addAlarm View"

希望这有帮助。

于 2011-07-16T12:28:15.787 回答