Rumah  >  Soal Jawab  >  teks badan

socket - ios 代理模式如何转换成顺序执行的流程?

迷茫迷茫2765 hari yang lalu518

membalas semua(3)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 09:26:57

    Soalan anda benar-benar abstrak
    1. Menerima atau menghantar data adalah fungsi bebas, dengan mengandaikan ia adalah sendRead, pisahkan ia daripada perniagaan. Dengan cara ini, apabila menerima data, hanya terima data Apabila data mencapai standard yang anda mahu, hubungi semula dari modul sendRead.
    readFromSocket(buffer)
    Kaedah ini boleh diubah menjadi gaya dengan panggilan balik blok:

    func readFromSocket(data:NSData,completeHander:(receivedData:NSData?)-> Void){
        //接收数据的事
    
        //在某个时机调用回调,应该不是当前这个方法里,接收数据应该都是异步的吧
        completeHander(receivedData: xxx)
    }

    Apabila perniagaan anda mencapai tahap tertentu dan anda memerlukan data tertentu, hubungi ini dan kemudian proseskannya dalam panggilan balik. Pada masa ini, panggilan balik hanya perlu memproses logik peringkat ini . Walaupun ini masih tidak boleh membuat panggilan berurutan, kerana menerima data tidak dapat diselesaikan sekaligus, dan ia mesti menunggu penerima data untuk memberitahu secara aktif.

    2. Saya melihat bahawa anda perlu melakukan beberapa pertimbangan status dalam handleData Adakah perniagaan ini berjalan dengan berbilang urutan pada masa yang sama? Jika tidak, ia akan menjadi lebih mudah, kerana APP kini berada dalam satu keadaan, dan anda hanya perlu mengumpul data satu keadaan dahulu dan kemudian membuangnya ke kod perniagaan untuk diproses. Jika tidak, logik perniagaan mesti diasingkan, dan operasi baca juga mesti diasingkan.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:26:57

    Mengapa banyak kesilapan ejaan?

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:26:57

    ReactiveCocoas atau RxSwift

    balas
    0
  • Batalbalas