NSObject使用nib加载UIView,但是fileowner是UIViewController
我有一个自定义对象,它可以处理视图的一些操作。 基本上它用一个nib文件初始化一个UIView。 但我希望我的viewcontroller负责处理IBActions。 所以我设置我的viewcontroller是文件的所有者和连接IBActions。
在我的自定义对象中,我加载nib文件,如下所示:
self.nibView = [[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:delegate options:optionsDict] lastObject];
我设置了委托,这是我的UIViewController(有点奇怪)是所有者。 所以我期待我的viewcontroller处理IBActions,但它没有。 我的自定义对象试图响应该动作,当然由于没有响应选择器而导致应用程序崩溃。 我怎样才能做到这一点?
编辑:
视图控制器
自定义对象
笔尖文件
代表是协议,所有者应该是一个对象。
如果您的视图控制器符合委托协议,您应该设置owner:self
并确保视图的委托属性设置为您的视图控制器。 这可以使用IBOutlet在IB中完成,或者在代码中使用类似于: self.nibView.delegate = self
上一篇: NSObject loading UIView with nib but fileowner is UIViewController