You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In AudioKitSynthOne/Manager/Manager+callbacks.swift, retain loops are created by the callbacks. Search for callback = { in your codebase and you'll find more.
The callbacks need to be of the form
myWidget.callback = { [weak self] in
guard let strongSelf = self else { return }
// do stuff with strongSelf
}
This isn't a big deal for a stand-alone app (though, it's considered bad form), but if you ever want to make an AudioUnit Extension, the leaks will become an issue.
Timers are also a source of retain loops, as well as simply creating cycles between view controllers, etc.
You can use Xcode's Memory Graph Debugger to find them, though it's still not very easy.
The text was updated successfully, but these errors were encountered:
In
AudioKitSynthOne/Manager/Manager+callbacks.swift
, retain loops are created by the callbacks. Search forcallback = {
in your codebase and you'll find more.The callbacks need to be of the form
This isn't a big deal for a stand-alone app (though, it's considered bad form), but if you ever want to make an AudioUnit Extension, the leaks will become an issue.
Timers are also a source of retain loops, as well as simply creating cycles between view controllers, etc.
You can use Xcode's Memory Graph Debugger to find them, though it's still not very easy.
The text was updated successfully, but these errors were encountered: