0

我是 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 中读到的内容来看,我必须有一个符合 Delegate 的接口,就像HRMonitor : NSObject <HRMonitorDelegate>调用协议中的方法一样。但这在 API 中没有提供。

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

4

1 回答 1

1
  1. 使您的界面符合委托

  2. 初始化 HRMonitor,将您的接口实例作为 _delegate 传递

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

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

    @interface YourClass : NSObject <HRMonitorDelegate>
    
    @implementation HRMonitor 
    
    -(void)someMethod
     {
        HRMonitor monitor = [HRMonitor alloc] init:self];
    
     }
    
    - (void) hrmon: (HRMonitor*) mon heartRateUpdate: (double)
    {
    
    }
    
于 2013-07-22T02:13:41.050 回答