I'm working through the `NSXMLParser` sample code and I have a couple of questions about how delegates and properties are set, particularly in the `AppDelegate`. 

In the interface, the `AppDelegate` is declared to follow the `NSXMLParserDelegate protocol`, but it doesn't seem to implement any of the protocol methods or to set itself as the delegate at any point. These seem to be in the `ParseOperation` class. Is this just a typo?

```
@interface SeismicXMLAppDelegate : NSObject <UIApplicationDelegate, NSXMLParserDelegate> {
    UIWindow *window;
    UINavigationController *navigationController;
    RootViewController *rootViewController;

@private
    // for downloading the xml data
    NSURLConnection *earthquakeFeedConnection;
    NSMutableData *earthquakeData;

    NSOperationQueue *parseQueue;
}

```

The interface also declares some private properties. These are defined again in an interface extension in the .m file.

```
@interface SeismicXMLAppDelegate ()

@property (nonatomic, retain) NSURLConnection *earthquakeFeedConnection;
@property (nonatomic, retain) NSMutableData *earthquakeData;    // the data returned from the NSURLConnection
@property (nonatomic, retain) NSOperationQueue *parseQueue;     // the queue that manages our NSOperation for parsing earthquake data

- (void)addEarthquakesToList:(NSArray *)earthquakes;
- (void)handleError:(NSError *)error;
@end

```

OK, I think I understand that this means other classes can't access these properties, and that seems like a really good thing in this case. Here's the mystery - In the implementation of -`applicationDidFinishLaunching:` the two properties are defined using different notations.

```
self.earthquakeFeedConnection =
[[[NSURLConnection alloc] initWithRequest:earthquakeURLRequest delegate:self] autorelease];

```

vs

```
parseQueue = [NSOperationQueue new];

```

Why is one assigned using `self.propertyName =` and the other with `propertyName =` ? I know that both `parseQueue` and `earthquakeFeedConnection` end up with retain counts of 1, with the difference that `earthquakeFeedConnection` is part of the `autorelease pool` and will be released automatically whereas we'll have to release `parseQueue` later because of the use of `+new` and not calling `autorelease`. 

The memory considerations don't explain the use of self. Is there another difference?