
随着 Swift 对其他操作系统的支持,有的时候我们会遇到程序本身的生命周期在异步函数(比如 URLSession dataTask 的回调)之前就结束了。那要如何才能让程序等到所有代码都执行结束呢?
在 Playground 中,我们可以这样:
而在普通的命令行程序里,比如 Srt2BilibiliKit 和最近写的拉 B 站粉丝的脚本里( https://gist.github.com/ApolloZhu/5031907931fc6bc031a7013bd8075029 ),我采用的是这种方法:
这样,我们的程序就会一直运行下去啦!
所以记得用 exit(0) 终止程序!
欢迎大家阅读《为美好的 Swift 献上祝福》系列的第一期,感谢 _liet 出的好点子(还顺便帮我解决了命名的问题)。这是我忙里偷闲更新“教程”的一种尝试,以后要是有什么比较简短但(可能)实用的 tips 我都会以这种形式发出来,希望大家喜欢。当然也欢迎大家在评论区里提出建议和意见 ;)
封面来源:https://twitter.com/rikak/status/991308983838261248