0

我一直在尝试以 xml 格式将数据发送到 iphone。但我就是无法让阵列正常工作。NSLog 不断返回 null。我应该怎么做才能纠正这个?

<?php
...(mysql query)
$q = $dbh->prepare( $sql );

$doc = new DOMDocument();
$r = $doc->createElement( "oneam" );
$doc->appendChild( $r );
foreach ( $q->fetchAll() as $row) {
    $e = $doc->createElement( "location" );

    $e->setAttribute( 'its', $row['oneam']);

    $r->appendChild( $e );

}
print $doc->saveXML();
?>

我的视图控制器的 Xcode

- (void)viewDidLoad
{
    [super viewDidLoad];
    char *cStr = "YES";
    NSString *str3 = [NSString stringWithUTF8String:cStr];


    NSString *urlString = [NSString stringWithFormat:@"(censored)", _login];

    NSXMLParser *Parser = [[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:urlString]] autorelease];
    [Parser setDelegate:self];
    [Parser parse];


    if (([[oneam objectForIndex:@"its" ]isEqualToString:@"YES" ])) {
            [switch1 setOn:YES animated:YES];
    }
    else {
            [switch1 setOn:NO animated:YES];
    }

}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {

    if ( [elementName isEqualToString:@"location"]) {
        [oneam addObject:[[NSDictionary alloc] initWithDictionary:attributeDict]];
    NSLog(@"The array is %@", oneam);
    }
}
4

1 回答 1

1

在您viewDidLoad编写以下代码:

oneam = [[NSMutableArray alloc] init];

您没有分配数组,这就是它为空的原因。

于 2012-11-06T03:46:35.490 回答