2012-06-05 37 views
0

這可能會問幾次,如何在彈出時調用函數? NSlog顯示文字,但彈出後沒有任何內容顯示在視圖上。如何在彈出時調用mainview中的函數

列表彈出表,但圖像沒有顯示

DrinkListViewController

DrinkTableViewController *drinkTable = [[DrinkTableViewController alloc]init]; 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
[[self navigationController] popToViewController:obj animated:NO]; 
           [drinkTable addImgViewAfterPopTime]; 
} 

DrinkTableViewController

-(void)addImgViewAfterPopTime 
{ 
    [self performSelector:@selector(addImgViewAfterPop) withObject:nil afterDelay:3]; 
    NSLog(@"casasasasa"); 
} 
+0

如何定義obj? – user523234

回答

1

您在調用時正在創建DrinkTableViewController的新實例 DrinkTableViewController * drinkTable = [[DrinkTableViewController alloc] init];的

所以不是這樣做,你可以這樣做:

DrinkListViewController.h

id m_RequestTarget; 
SEL m_RequestSelector; 

DrinkListViewController.m

-(void)setTarget:(id)inTarget Selector:(SEL)inSelector 
{ 
    m_RequestTarget = inTarget; 
    m_RequestSelector = inSelector; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if ([m_RequestTarget respondsToSelector:m_RequestSelector]) { 
        [m_RequestTarget performSelector:m_RequestSelector withObject:nil]; 
    } 
    [[self navigationController] popToViewController:obj animated:NO]; 

} 

和DrinkTableViewController.m在初始化DrinkListViewController,你打電話setTarget方法如下:

[theDrinkListViewControllerObj setTarget:self andSelector:@selector(addImgViewAfterPopTime)]; 
1

使用NSNotification要做到這一點,而不是這種複雜的情況,當你popback後通知。

2

您可以製作委託方法。並同時推動的viewController使

controller.delegate = self;

,然後同時彈出U可以調用委託方法。

相關問題