如何使用此委托中定义的方法?

时间:2013-07-22 02:02:06

标签: ios interface

我是iOS开发的新手,我正在尝试理解一些概念的界面。提供的SDK(已编译,我无法对其执行任何操作)具有以下定义:

@class HRMonitor;
@protocol HRMonitorDelegate
- (void) hrmon: (HRMonitor*) mon heartRateUpdate: (double) hr;
// And others
@end

@interface HRMonitor : NSObject <NSStreamDelegate>{
}

-(id) init: (id) _delegate;
-(void)startup;

有谁知道如何使用协议heartRateUpdate中定义的HRMonitorDelegate方法?根据我在iOS Developer Library中的内容,我必须有一个符合委托的接口,如HRMonitor : NSObject <HRMonitorDelegate>来调用协议中的方法。但是API中没有提供。

或者我可以使用init方法吗?但那我应该如何通过_delegate

1 个答案:

答案 0 :(得分:1)

  1. 使您的界面符合代表

  2. init HRMonitor,将您的界面实例作为_delegate

  3. 传递
  4. 然后 - (void)hrmon:(HRMonitor *)mon heartRateUpdate:(double)hr接口将被调用

  5. 使接口符合委托,并在需要时调用它的方法,记得检查委托是不是nil并响应你要调用的方法

    @interface YourClass : NSObject <HRMonitorDelegate>
    
    @implementation HRMonitor 
    
    -(void)someMethod
     {
        HRMonitor monitor = [HRMonitor alloc] init:self];
    
     }
    
    - (void) hrmon: (HRMonitor*) mon heartRateUpdate: (double)
    {
    
    }