title: Why won't Xcode recognize a typedef from a header that's being properly imported?
body: <p>I used to have a class called <code>Constants</code>. In it was this <code>typedef</code>:</p>
  
  <pre><code>typedef enum visible_thing {
  
      BACKGROUND,
      BACKGROUND_COLOR,
      MAIN_WINDOW
  
  } VISIBLE_THING;
  </code></pre>
  
  <p>And my, was life rosy! I was importing 'Constants.h` wherever I needed to access this type, and it all worked. </p>
  
  <p>Then I decided to nuke the <code>Constants</code> class. I took the typedef and I put it in another class, for clarity let's call it <code>OtherClass</code>. I went through and changed all the imports of <code>Constants.h</code> to imports of <code>OtherClass.h</code> That's all I did, I didn't touch any other code. And now the whole thing's broke! </p>
  
  <p>Methods that worked perfectly with <code>Constants</code> now give me this error: <code>Parse Issue - Expected a type</code>. What the heck? I sure hope someone has some leads on this!</p>
  
  <p>Update: frustratingly, this is one of those problems that just seemed to go away on its own without explanation. I answered my own question, below, with a workaround I'd found that entailed #import-ing the same header multiple times in one file. But today I removed the extra #import, and everything still worked. Arg. Computers!</p>