Push和Pop的行为很奇怪,为什么?

时间:2011-07-16 12:12:45

标签: iphone stack pushviewcontroller popviewcontroller

我有两个类,一个是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 backbutton时,它会返回到addAlarm,并且它的viewWillAppear方法调用,但之后调用

         - (void)viewDidUnload

         - (void)dealloc
名称等级的

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

1 个答案:

答案 0 :(得分:1)

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

-(void)viewWillDisappear:(BOOL)animated{

}

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

在appDelegate.h文件中

NSString *strName;

@property(nonatomic,retain)NSString * strName;

在appDelegate.m文件中

@synthesize strName;

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

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

并存储这样的价值

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

希望得到这个帮助。