Iphone 如何在弹出时从mainview调用函数
这可能已经被问了好几次了,当弹出返回时如何调用函数? NSlog显示文本,但弹出后视图上不会显示任何内容 列表弹出到表格,但图像未显示 饮水显示控制器Iphone 如何在弹出时从mainview调用函数,iphone,ios,xcode,popviewcontroller,Iphone,Ios,Xcode,Popviewcontroller,这可能已经被问了好几次了,当弹出返回时如何调用函数? NSlog显示文本,但弹出后视图上不会显示任何内容 列表弹出到表格,但图像未显示 饮水显示控制器 DrinkTableViewController *drinkTable = [[DrinkTableViewController alloc]init]; - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DrinkTableViewController *drinkTable = [[DrinkTableViewController alloc]init];
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[[self navigationController] popToViewController:obj animated:NO];
[drinkTable addImgViewAfterPopTime];
}
-(void)addImgViewAfterPopTime
{
[self performSelector:@selector(addImgViewAfterPop) withObject:nil afterDelay:3];
NSLog(@"casasasasa");
}
DrinkTableViewController
DrinkTableViewController *drinkTable = [[DrinkTableViewController alloc]init];
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[[self navigationController] popToViewController:obj animated:NO];
[drinkTable addImgViewAfterPopTime];
}
-(void)addImgViewAfterPopTime
{
[self performSelector:@selector(addImgViewAfterPop) withObject:nil afterDelay:3];
NSLog(@"casasasasa");
}
使用NSNotification可以做到这一点,而不是在这种复杂的情况下,在弹出时发布通知 使用NSNotification来完成此操作,而不是在这种复杂的情况下,在弹出时发布通知 您可以创建委托方法。在按下viewController时,使
controller.delegate=self代码>
然后,在弹出窗口时,您可以调用该委托方法。您可以使委托方法。在按下viewController时,使
controller.delegate=self代码>
然后在弹出窗口时,您可以调用该委托方法。调用时,您正在创建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)];
调用时正在创建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)];