title: Variable with incomplete type objective C
body: <p>I'm trying to have an enum as part of my method signature and I get this hideous error in my .h file:</p>
  
  <pre><code>Declaration of 'enum CacheFile' will not be visible outside this function
  </code></pre>
  
  <p>I have this in my h file :</p>
  
  <pre><code> @interface DAO : NSObject
  
      typedef enum {
          DEFAULT_CACHE_FILE,
          WEB_CACHE_FILE
      } CacheFile;
  
      -(NSMutableArray *) parseFile :(enum CacheFile) file;
  
  
  
  @end
  </code></pre>
  
  <p>My .m file :</p>
  
  <pre><code>-(NSMutableArray *) parseFile:(CacheFile) file{
  .....
  ....
  }
  </code></pre>
  
  <p>And I get this warning in my m file :</p>
  
  <pre><code>Conflicting Parameter types in implementation of 'parseFile:':'enum CacheFile' vs 'CacheFile'
  </code></pre>
  
  <p>What am I doing wrong ?</p>