2017-05-23 1 views
0

私は素早いプロジェクトでDI用にSwinjectを使用しています。私は、弱いオブジェクトのスコープを使用してリークにつながると思います。Swinject:弱いスコープを使用しているオブジェクトが漏れています

私は私のアプリデリゲート

にプロパティを追加しました。このダミーのオブジェクトにテスト目的のために

protocol DevTestProtocol: class {} 
class DevTest: DevTestProtocol {} 
(私はアセンブリを使用しています)は次のように登録されている

container.register(DevTestProtocol.self) { _ in 
    return DevTest() 
} 
.inObjectScope(.weak) 

を持っています

var devTest: DevTestProtocol? 

とapplicationDidFinishLaunchingWithOptionsオブジェクトを解決して忘れてしまいます

self.devTest = DI.resolve(DevTestProtocol.self)! 
self.devTest = nil 

DevTestインスタンスは今すぐ削除されていますか? それはそうではありません。デバッグメモリのグラフにリークとして表示されます。 see screenshot

これは予想された動作ではないと思いますか?何か不足していますか? それは私のバグのように見え、それは私の全体のセットアップを台無しにしています。 これについて何ができますか? GitHub issue

答えて

0

メモリリークはありません.Xcode 8のメモリプロファイリングツールのバグです。 GitHub issues trackerでの議論を参照してください。

enter image description here

関連する問題