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:
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.
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:
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.Mengapa banyak kesilapan ejaan?
ReactiveCocoas atau RxSwift