title: "Incomplete implementation" warning in XCode 4.0
body: <p>This application is rewritten code from the <a href="https://rads.stackoverflow.com/amzn/click/com/0596804792" rel="nofollow noreferrer" rel="nofollow noreferrer">Cococa and Objective C Up and Running</a> book.</p>
  
  <p>As I try to understand everything in the beginning, I would like to know, where I made a mistake, in the code below. To me, everything looks fine.</p>
  
  <p>Could you, therefore, help me identify the source of the warning:</p>
  
  <pre><code>Incomplete Implementation
  </code></pre>
  
  <p>I got this in the <code>@implementation Photo</code> line in <code>Photo.m</code> source code file?</p>
  
  <p><em>Photo.h</em>    </p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  
  
  @interface Photo : NSObject{
  
      NSString* caption;
      NSString* photographer;    
  }
  
  + (Photo*) photo;
  
  - (NSString*) caption;
  - (NSString*) photographer;
  
  - (void) setCaption: (NSString*)input;
  - (void) setPhotographer: (NSString*)input;
  
  @end
  </code></pre>
  
  <p><em>Photo.m</em></p>
  
  <pre><code>#import "Photo.h"
  
  
  @implementation Photo  // &lt;- Incomplete Implementation?
  
  - (id)init
  {
      self = [super init];
      if (self) {
          [self setCaption:@"Default Caption"];
          [self setPhotographer:@"Default Photographer"];
      }
  
      return self;
  }
  
  
  + (Photo*) caption {
      Photo* newPhoto = [[Photo alloc] init];
      return [newPhoto autorelease];
  }
  
  
  - (NSString*) caption {
      return caption;
  }
  
  
  - (NSString*) photographer {
      return photographer;
  }
  
  
  - (void) setCaption:(NSString *)input {
      [caption autorelease];
      caption = [input retain];
  }
  
  
  - (void) setPhotographer: (NSString *)input {
      [photographer autorelease];
      photographer = [input retain];
  }
  
  
  - (void)dealloc
  {
      [self setCaption:nil];
      [self setPhotographer:nil];
  
      [super dealloc];
  }
  
  @end
  </code></pre>
  
  <p><em>I use Snow Leopard 10.6.7 and Xcode 4.0.0.</em></p>