0

我想在弹出时将数据发送回我的主视图

-(IBAction)addPartToBuild:(id)sender{
    [self.navigationController popToRootViewControllerAnimated:YES];
}

我可以使用发件人:数据吗?我试过了,但我得到了一个“没有@interface”的错误。

4

1 回答 1

1

您正试图搞乱 MVC(模型视图控制器)理念,视图控制器必须负责 UI 处理。

您需要构建负责数据存储的数据模型和数据控制器。然后,您可以添加通知或将数据更改事件委托给您的根或任何其他视图控制器,这将易于阅读并且您将获得所有 MVC 好处。

这一定很简单

[[MyDataManager sharedInstance] addPartToBuild:newPart];
[self.navigationController popToRootViewControllerAnimated:YES];

并且根视图控制器应该在每次显示从数据控制器获取更改的数据时完全捕获数据更改通知、委托消息或完全捕获 UI。


可能误解了这个问题,如果您需要知道哪个控件触发了该操作,那id sender就是该控件引用,例如,如果您将操作链接到 UIButton 发送者将是 UIButton 引用(您可以检查它[sender isKindOfClass:[UIButton calss]]然后获取任何需要UIButton 的属性,就像您可以为多个按钮分配相同的操作并检查按钮标记以决定要做什么,请检查调解器模式以获取详细信息)。

于 2012-08-19T19:58:10.753 回答