0

我有一个自定义对象,它处理一些带有视图的操作。基本上,它使用 nib 文件初始化 UIView。但我希望我的视图控制器负责处理 IBAction。所以我将我的视图控制器设置为文件所有者并连接 IBActions。

在我的自定义对象中,我像这样加载 nib 文件:

self.nibView = [[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:delegate options:optionsDict] lastObject];

我将我的 UIViewController(有点奇怪)的委托设置为所有者。所以我希望我的视图控制器能够处理 IBAction,但它没有。我的自定义对象试图响应该操作,当然应用程序由于未响应选择器而崩溃。我怎样才能做到这一点?

编辑:

视图控制器 视图控制器

自定义对象 自定义对象

笔尖文件 笔尖文件

4

1 回答 1

0

委托是一个协议,所有者应该是一个对象。

如果您的视图控制器符合委托协议,您应该设置owner:self 并确保视图的委托属性设置为您的视图控制器。这可以使用 IBOutlet 在 IB 中完成,也可以通过以下代码在代码中完成:self.nibView.delegate = self

于 2013-12-10T10:34:36.807 回答