2011-07-03 45 views
1

我正在构建一个应用程序,我有一个NSView的子类,我想成为一个拖放区域。然后,我想将该操作中的数据传递给视图控制器以处理信息并执行其他任务。我发现我无法从控制器实现拖放方法;我必须从这个角度去做。这意味着我必须找到一种将信息从视图传递回控制器的好方法。NSView拖放数据到控制器

我的第一个想法是尝试为视图创建委托函数,然后尝试实现从控制器的拖放操作。这似乎仍然是最好的方式,但我似乎无法使其工作或找到别人这样做的教程。由于我正在尝试传回数据,因此我认为这些通知不会起作用。

我没有包含任何代码,因为我仍处于如何实现这一目标的概念阶段。我已经成功地从视图中拖放信息中获取信息 - 问题是从哪里去的。如果我只想显示有关在视图中拖放的信息,或者对视图执行另一个操作,那么我应该设置。由于我想进一步处理这些信息,因此我的问题存在。

所以,我的问题是,什么是最好的方式将我从拖放中获得的数据传递回控制器。我是否应该继续尝试委托拖放方法,以便直接在控制器中获取数据?如果是这样,有没有人有这样做的例子?我知道这是一个新手问题,但任何帮助将不胜感激!

回答

0

再次回答我自己的问题......但这是新手。

我让我的控制器头部NSCollectionView的委托,因为这是我使用的视图类型。

@interface MainViewController : NSViewController <NSCollectionViewDelegate> 

在我的控制器从NIB清醒,我设置视图委托我的控制器......

- (void) awakeFromNib{ 
    [collectionView setDelegate: self]; 
} 

然后实施控制器,让我接受数据的拖放功能然后根据需要更改视图和业务逻辑。