Mapkit View 与 tableview 一起
我是 Iphone Dev 的新手,似乎不太了解委托的事情。我们可以将 Mapkit 视图和 TableView 放在一个视图中吗?
我搜索了一下,有人说我们不能在一个视图控制器中使用多个委托。据我所知,mapkit 需要 MKMapViewDelegate 和 tableview 需要 UITableViewDelegate,到目前为止我对吗? 那么是不是说,我们不能将mapkit和tableview放在一个视图中呢?
让我也感到困惑的事情是,我做了一个简单的应用程序,将textview和mapkit一起使用。我只将 MKMapViewDelegate 传递给视图控制器。但textview还需要委托使用textFieldShouldReturn关闭键盘。所以我设法从 IB 文件链接委托,但没有将 UITextFieldDelegate 传递给视图控制器。它有效。 如果我们使用 IB 链接委托或将委托参数传递给视图控制器有什么区别?
谢谢
I am new to Iphone Dev, seems doesn't really understand delegate things. Could we put mapkit view and tableview together in one view?
I searched over, and someone said we can't use more than one delegate in one viewcontroller. As I know mapkit require MKMapViewDelegate and tableview require UITableViewDelegate, am I right till this point?
Then does it mean, we can't put mapkit and tableview in one view together?
The things that make me also confused, I did simple app that use textview and mapkit together. I only pass MKMapViewDelegate to view controller. But textview also require delegate to close the keypad using textFieldShouldReturn. So i manage to link the delegate from IB file, but did't pass UITextFieldDelegate to view controller. And it works.
What is the difference if we link the delegate using IB or pass the delegate param to view controller?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
视图控制器可以是地图视图和表视图的委托。通过实现委托协议的方法,对象可以简单地成为委托,在本例中是 MKMapViewDelegate 和 UITableViewDataSource 。
一个对象可以实现任意数量的协议。您可以通过将协议添加到接口来告诉编译器实例实现协议:
在 IB 中设置委托和在代码中设置委托之间没有显着的技术差异。我建议将它们设置在 IB 中,因为使用 IB 会减少您编写的代码量,从而减少代码失败的可能性。
A view controller CAN be a delegate for both a map view and a table view. An object becomes a delegate simple by implementing the methods of the delegate protocol, in this case that's
MKMapViewDelegate
andUITableViewDataSource
.An object can implement any number of protocols. You tell the compiler that instances implement a protocol by adding it to the interface:
There is no significant technical difference between setting a delegate in IB and in code. I would advise setting them in IB because using IB reduces the amount of code you write therefore reducing the possibility of your code failing.