我有一个自定义对象,可以处理视图的一些操作。基本上它用nib文件初始化UIView。但我希望我的viewcontroller负责处理IBActions。所以我将我的viewcontroller设置为文件所有者并连接了IBActions。
在我的自定义对象中,我加载了这样的nib文件:
self.nibView = [[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:delegate options:optionsDict] lastObject];
我设置了委托,这是我的UIViewController(有点奇怪)是所有者。所以我期待我的viewcontroller处理IBActions,但事实并非如此。我的自定义对象试图响应操作,当然应用程序因为没有响应选择器而崩溃。我怎样才能做到这一点?
编辑:
查看控制器
自定义对象
Nib文件
答案 0 :(得分:0)
委托是一个协议,所有者应该是一个对象。
如果您的视图控制器符合委托协议,则应设置owner:self
并确保将视图的delegate属性设置为视图控制器。这可以使用IBOutlet在IB中完成,或者在代码中使用:self.nibView.delegate = self