0

アプリケーション デリゲートで 1 つの配列を宣言しました

@property(strong,nonatomic)NSMutableArray *books;  

XMLParser.m のこの配列にオブジェクトを追加しました

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

    if([elementName isEqualToString:@"Books"])
        return;
    NSLog(@"i m in didEndElement");

    if([elementName isEqualToString:@"Book"]) {
        [appDelegate.books addObject:aBook]; //here i have added objects to array

        [aBook release];
        aBook = nil;

        NSLog(@"books=%@",appDelegate.books);
    }
    else 
        [aBook setValue:currentElementValue forKey:elementName];

    [currentElementValue release];
    currentElementValue = nil;
}

この配列を XMLParser.h で次のように宣言しました

@interface XMLParser : NSObject {
    NSMutableString *currentElementValue;

    AppDelegate *appDelegate;
    Book *aBook; 
}

BooksDetailViewController.m でこの配列にアクセスする必要があります。この配列にアクセスするにはどうすればよいですか。簡単に言えば、アプリケーション デリゲートから BooksDetailViewController に配列にアクセスする方法

4

1 に答える 1

5

まず、配列と配列を作成する必要がallocありinitます。次に、その中にオブジェクトを追加できます。

BooksDetailViewControllerこのようにAppDelegateインスタンスを作成する必要があります。

.hファイル内

AppDelegate *appDelegate;

および.mファイル

appDelegate = [[UIApplication sharedApplication]delegate];

これで、次のようにアレイにアクセスできます。

appDelegate.books
于 2013-01-10T11:34:25.533 に答える