title: How does swift handle deterministic finalization?
body: <p>I am coming from a C# background; as I understand it Swift have automatic memory management like C# does.</p>
  
  <p>An issue in C# that requires the use of “programming patterns” is the timely releasing of resources, as the garbage collector runs at an undefined time, and hence cannot be used to close files, release network connection etc.   (Hence IDisposable and the “using” keyword)</p>
  
  <p>How is this dealt with when programming in Swift?</p>