title: Where to put my Struct to keep classes independent?
body: <p>I have a class which I want to be reusable (for any developer user who wants it, or outside my project). This class returns a <code>Struct</code> lets call it <code>structA</code>, and the class is <code>classA</code>.</p>
  
  <p>The first thought is to put <code>structA</code> inside the same <strong>file</strong> of this class, so while the <code>Struct</code> is public, any user who get this class file can read this <code>Struct</code> which the class returns.</p>
  
  <p>Till here it looks reasonable. (or not)</p>
  
  <p>But what happens if other classes in my current project also need to use this <code>Struct</code> for other purposes? (a copy of it) </p>
  
  <p>Then to make the code reusable I need to put this struct somewhere else.
  By reusable I mean there are no dependencies- get the class file and that is it.</p>
  
  <p>If it's outside <code>classA</code>, then <code>classA</code> becomes <em>not reusable</em> and dependent.</p>
  
  <p>If  it's inside <code>classA</code>, then other class that use it are also dependent(not reusable outside)</p>
  
  <p>The only solution left is to create other Structs like this with different names(sounds bad)</p>
  
  <p>Where would you put this <code>Struct</code> in your Xcode project?</p>