0

我的 XML 解析器有一些问题,用 obj-c 编写。解析器本身很好,但我无法访问 DetailView 中的结果数组。

我需要由我的 Master 和 DetailViewController 中的 Parser 类创建的数组的值。

在 MasterViewController 我这样做:

主视图控制器.h

#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import "TouchXML.h"
#import "Parser.h"

@class Parser;

@interface MasterViewController : UITableViewController{
    Parser *theParser;
    }

主视图控制器.m

- (void)viewDidLoad
{
    theParser = [[Parser alloc] init];
    [theParser startParser:xmlPath]; //Now the parser runs and parses all needed values into arrays
}

然后我点击DetailView,我也想访问那里的值。

UniViewController.h

#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import "Parser.h"

@interface UniViewController : UITableViewController{

    Parser *theParser;
}

UniViewController.m

- (void)viewDidLoad
{
   NSLog(@"Name: %@",[[theParser.listArray objectAtIndex: 0]valueForKey:@"name"]);
}

在这里,我想从解析器访问 Array 但我总是得到值 (null) ?在调试器中,我看到 theParser 有 0x0000 这不可能是正确的......在我执行 theParser = [[Parser alloc] init]; 之后 在这里,它有一个十六进制值,但我仍然得到(null)。

如何从 DetailView 访问数组值?

如果有人可以在这里向我解释这个问题,那就太好了。

谢谢。

4

1 回答 1

0

您的详细视图必须有一个指向您的 MasterView 创建的数组的指针(通过解析器),试试这个:

(void)viewDidLoad
{
    aParser = [[Parser alloc] init];
    [aParser startParser:xmlPath];
    myUniView.theParser = aParser; //myUniView is just the detail view you're pushing

然后在此之后您可以推送您的详细信息视图。

于 2012-04-17T23:51:08.310 回答