Objective c 无法将代理添加到子视图
我有一些主视图控制器,我想添加一个子视图到它,作为一个孩子,这也是一个视图控制器 我的方法是,当您完成编辑该子视图时,他将告诉主视图对委托执行某些操作Objective c 无法将代理添加到子视图,objective-c,Objective C,我有一些主视图控制器,我想添加一个子视图到它,作为一个孩子,这也是一个视图控制器 我的方法是,当您完成编辑该子视图时,他将告诉主视图对委托执行某些操作 将许多子视图创建为添加到主视图中的viewcontrollers,并在出现问题时通过委托通知他,这种方法是一种好方法吗 为什么我不能将委托侦听器添加到我的子视图?我在我的子视图中创建了协议,主视图正在添加一个子视图,需要订阅其委托,因此: UIViewController中没有委托属性,但您调用 [search delete:self]; 在该
viewcontrollers
,并在出现问题时通过委托通知他,这种方法是一种好方法吗UIViewController中没有委托属性,但您调用
[search delete:self];
在该对象上,而不是在SearchView对象上。如果在SearchView上添加了委托属性,则需要将声明更改为:
SearchView *search = [[SearchView alloc]init];
另一件事是,如果您在SearchView.h文件中添加了委托,如:
@属性(分配)您的Del代表;
你应致电:
[search setDelete:self];
而不是:
[search delete:self];
试试这个
SearchView *search = [[SearchView alloc]init]; //my subview that post delegate
[search setDelegate:self]; // or search.delegate = self;
您还需要为子视图中的操作创建协议及其所需的方法。不要忘记在主视图界面中添加委托
希望这可以解决您的问题非常感谢!它起作用了,我把它改成了searchView,它按预期工作。这种方法正确吗?要将许多视图控制器作为子视图添加到某些主视图中,并且它们都将向他发布委托,通知他何时删除它们/执行其他操作?我更喜欢使用UIView而不是UIViewController,因为它是一个较小的对象。但这完全取决于你的需要。如果您的子视图没有做太多的工作,您可以使用根视图控制器来管理所有uiview子视图,甚至不需要使用委托,但如果子视图逻辑中存在很多问题,您可以使用UIviewCOntroller。
SearchView *search = [[SearchView alloc]init]; //my subview that post delegate
[search setDelegate:self]; // or search.delegate = self;