External Accessory Framework初步了解(二)
(2014-11-03 17:53:21)
标签:
externalaccessory.friosocxcode |
3.EASession类
创建一个会话对象之后,你应该马上配置流对象。流发送事件到他们关联的delegate去通知它流状态的改变。举个例子,当数据正等着被读或者有足够的空间被写,流就通知delegate。
当通过提供的流,发送和接收数据,确保数据是按照协议格式化的就是你的责任。EASession类没有配件协议的知识,不能够尝试去格式化数据。
(
1
)
-(
instancetype)
initWithAccessory:(
EAAccessory*)
accessory
(
NSString*)
protocolString
这个方法会返回一个会话的实例。
accessory:是你的交流的配件对象,可以从EAAccessoryManager对象得到。
protocolString:和配件交流使用的协议,所有的交流都必须通过这个协议。
(2)@property(nonatomic,
readonly)
EAAccessory
*accessory
,指的是这个会话的配件。
(3)@property(nonatomic,
readonly)
NSString
*protocolString
,和配件交流使用的协议。
(
4
)
@property(nonatomic,
readonly)
NSInputStream
*inputStream
(
5
)
@property(nonatomic,
readonly)
NSOutputStream
*outputStream
(4)和(5)是通过session对象自动提供,但你必须配置它,如果你想要接收任何关联的流事件。你必须实现delegate一个方法-
(
void)
stream:(
NSStream
*)
theStream
handleEvent:(
NSStreamEvent)
streamEvent;
并且必须安排流是一个循环的执行,在程序的线程中异步接收(发送)数据。