OperationQueue に渡すコールバックには [weak self] を付けなくて良い?
https://github.com/apollographql/apollo-ios/blob/master/Sources/Apollo/ApolloClient.swift#L82
を読んでいると
OperationQueueに渡しているresultHandlerは@escapingが付いていないことに気づきました。OperationQueueは普段使っていないので、あまり詳しくはないのですが、ネットワーク通信ですので、@escapingと[weak self]をセットで使うのが安全と考え、検索したところ、
https://stackoverflow.com/a/48125065/1979953
の回答を見つけました。
私の回答理解としては、
OperationQueueはメモリーリークは起こらず、いい感じに取り扱ってくれるので、@escapingと[weak self]はいらないというように読めたのですが、
なぜ@escapingと[weak self]はいらないのかという疑問は残ったままとなりました。なにか理由があるとかいうわけではなく、Appleがそう作ったからという結論になってしまうのでしょうか?