jon*_*dep 4 objective-c interface-builder
我在解决如何获得自定义nsview以告知我的主控制器类发生了什么问题时遇到了问题.
控制器类有一个mapView实例,如下所示:
IBOutlet MapView *mapView;
Run Code Online (Sandbox Code Playgroud)
这是通过界面构建器实例化的,在我的mapView类中,我得到的鼠标点击如下:
- (void)mouseDown:(NSEvent *)theEvent { //whatever...
Run Code Online (Sandbox Code Playgroud)
但是当发生这种情况时,需要在控制器类中更改一个或两个变量 - 我该怎么做?
为自定义View类定义协议并在控制器中实现协议,在视图类中,您将在视图中具有实现协议代码的委托属性...该属性看起来像
@property(assign) id <MyProtocol> myProtocolDelegate;
Run Code Online (Sandbox Code Playgroud)
然后,Controller可以将自己设置为视图的委托,如果它正确实现了协议,则应该在视图调用时获取消息.信息在这里http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html
| 归档时间: |
|
| 查看次数: |
1150 次 |
| 最近记录: |