再帰演算でのカウントに問題があります。サイトマップ ジェネレーターを作成しており、各 URL がリンクされた回数をカウントしたいと考えています。これまでのところ、2 つ以上の数を数えるのに苦労しています。しかし、少なくともそれはまったく重要です。
これが私のコードです:
- (void)parseURL:(NSURL*)URL
{
    NSLog(@"Parsing URL: %@", URL);
    // Check for URL in visited Array
    if ([self.visitedURLs containsObject:URL]) {
        NSLog(@"URL Already Visited...");
        // Add 1 to the count of links to this URL
        [[self.collectedURLs objectForKey:[URL absoluteString]] addToIncomingLinks];
        NSLog(@"Updating Link Count... (%d)", [[self.collectedURLs objectForKey:[URL absoluteString]] incomingLinks]);
        // Done parsing this URL, nothing else to do here...
    } else {
        ... Filter URLs and other stuff ...
        // Add URL as visited
        [self.visitedURLs addObject:URL];
        // Add filtered URL to Dictionary with link count of 1
        [self.collectedURLs setObject:[[OBAURLData alloc] init] forKey:workingURL];
        // Reload Table
        [self.crawlTableView reloadData];
        // parse found URLs
        [self parseURL:[NSURL URLWithString:workingURL]];
    }
}
// From the OBAURLData Object
- (id)init
{
    if ((self = [super init])) {
        self.incomingLinks = 1;
    }
    return self;
}
- (void)addToIncomingLinks
{
    self.incomingLinks = self.incomingLinks + 1;
}
すべてのコードは、カウントが 2 を超えないことを除いて、期待どおりに機能します。
これは再帰が原因でしょうか、それとも私の問題が見えないだけですか?