我是Iphone Dev的新手,似乎并不真正理解委托的事情。我们可以将mapkit视图和tableview放在一个视图中吗?
我搜索过,有人说我们不能在一个viewcontroller中使用多个委托。据我所知mapkit需要MKMapViewDelegate和tableview需要UITableViewDelegate,我到现在为止? 那是不是意味着,我们不能将mapkit和tableview放在一个视图中?
让我感到困惑的事情,我做了简单的应用程序,一起使用textview和mapkit。我只传递MKMapViewDelegate来查看控制器。但textview还要求代理人使用textFieldShouldReturn关闭键盘。所以我设法从IB文件链接委托,但没有通过UITextFieldDelegate查看控制器。它有效。 如果我们使用IB链接委托或传递委托参数来查看控制器有什么区别?
谢谢
答案 0 :(得分:0)
视图控制器可以是地图视图和表视图的委托。通过实现委托协议的方法,对象变为委托简单,在这种情况下是MKMapViewDelegate
和UITableViewDataSource
。
对象可以实现任意数量的协议。您告诉编译器实例通过将协议添加到接口来实现协议:
@interface MyObject : NSObject <UITableViewDataSource, MKMapViewDelegate>
{
...
在IB和代码中设置委托之间没有明显的技术差异。我建议在IB中设置它们,因为使用IB会减少您编写的代码量,从而减少代码失败的可能性。