在大多数库中,我看到一个委托对象被传递给该类的init方法。 我知道委托如何工作,但不了解这个委托对象参数传递是如何工作的。
任何正文请解释一下,通过init方法传递委托对象的用途是什么。这是代理人的高级用法。我在CoreBluetooth的温度传感器示例中找到了这个。谢谢。
- (id) initWithPeripheral:(CBPeripheral *)peripheral controller:(id<LeTemperatureAlarmProtocol>)controller;
在我的情况下: LeTemperatureAlarm是一个在其中声明了一些协议的类。 (此协议方法用于另一个类MyViewController)
LeDiscovery是另一个具有委托对象的类:
@property (nonatomic, assign) id<LeTemperatureAlarmProtocol> peripheralDelegate;
LeDiscovery使用方法
初始化LeTemperatureAlarm对象[[[LeTemperatureAlarmService alloc] initWithPeripheral:peripheral controller:peripheralDelegate] autorelease];
和协议LetemperatureAlarmProtocol中的方法用于MyViewController
我不是通过将其作为参数传递来理解此委托对象的流程以及使用的使用或差异。 为什么必须作为参数传递。只需要MyViewController在其.h文件中符合LeTemperatureAlarm协议吗?
请帮忙