84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
业精于勤,荒于嬉;行成于思,毁于随。
你这个问题还真是很抽象呢1、接收或发送数据是一个独立的功能,假设为sendRead,把它和业务拆开。这样接收数据的时候就只管接收数据,等到数据到你要的标准了,从sendRead模块回调出来。readFromSocket(buffer)这个方法就可以改造成带一个闭包(block)回调的样式:
func readFromSocket(data:NSData,completeHander:(receivedData:NSData?)-> Void){ //接收数据的事 //在某个时机调用回调,应该不是当前这个方法里,接收数据应该都是异步的吧 completeHander(receivedData: xxx) }
你的业务执行到某个阶段,你需要某个数据了,调用这个,然后在回调里处理。这时回调里只需要处理这个阶段的逻辑。虽然这样还是无法做到顺序调用,因为接受数据不可能一下完成,肯定是要等数据接受方主动通知的。
2、我看你handleData里面之前要做多状态判断,是这个业务是多线程同时运作的吗?如果不是感觉会比较简单些,因为APP当前就一个状态,只需要做好单个状态的数据先集中然后丢给业务代码处理就好了。否则,要把业务逻辑分隔开来,读取操作也要分隔开吧。
怎么这么多拼写错误
ReactiveCocoas or RxSwift
你这个问题还真是很抽象呢
1、接收或发送数据是一个独立的功能,假设为sendRead,把它和业务拆开。这样接收数据的时候就只管接收数据,等到数据到你要的标准了,从sendRead模块回调出来。
readFromSocket(buffer)
这个方法就可以改造成带一个闭包(block)回调的样式:
你的业务执行到某个阶段,你需要某个数据了,调用这个,然后在回调里处理。这时回调里只需要处理这个阶段的逻辑。虽然这样还是无法做到顺序调用,因为接受数据不可能一下完成,肯定是要等数据接受方主动通知的。
2、我看你handleData里面之前要做多状态判断,是这个业务是多线程同时运作的吗?如果不是感觉会比较简单些,因为APP当前就一个状态,只需要做好单个状态的数据先集中然后丢给业务代码处理就好了。否则,要把业务逻辑分隔开来,读取操作也要分隔开吧。
怎么这么多拼写错误
ReactiveCocoas or RxSwift