TouchXML在iphone app的twitter feed中读取

时间:2010-05-18 10:13:32

标签: iphone xcode touchxml

所以我设法从twitter获取Feed并尝试解析它... 我只需要Feed中的以下字段: name,description,time_zone和created_at 我成功地提取了名称和描述..但是time_zone和created_at总是为零......以下是代码...

任何人都明白为什么这可能不起作用?

-(void) friends_timeline_callback:(NSData *)data{

    NSString *string = [[NSString alloc] initWithData:data  encoding:NSASCIIStringEncoding];
    NSLog(@"Data from twitter: %@", string);

    NSMutableArray *res = [[NSMutableArray alloc] init]; 
    CXMLDocument *doc = [[[CXMLDocument alloc] initWithData:data options:0 error:nil] autorelease]; 
    NSArray *nodes = nil; 

    //! searching for item nodes 
    nodes = [doc nodesForXPath:@"/statuses/status/user" error:nil]; 

    for (CXMLElement *node in nodes) 
    { 
        int counter; 
        Contact *contact  = [[Contact alloc] init]; 

        for (counter = 0; counter < [node childCount]; counter++) 
        { 
            //pulling out name and description only for the minute!!!
            if ([[[node childAtIndex:counter] name] isEqual:@"name"]){
                contact.name = [[node childAtIndex:counter] stringValue];

            }else if ([[[node childAtIndex:counter] name] isEqual:@"description"]) {

                // common procedure: dictionary with keys/values from XML node 
                if ([[node childAtIndex:counter] stringValue] == NULL){
                    contact.nextAction = @"No description";
                }else{
                    contact.nextAction = [[node childAtIndex:counter] stringValue];
                }

            }else if ([[[node childAtIndex:counter] name] isEqual:@"created_at"]){

                contact.date == [[node childAtIndex:counter] stringValue];

            }else if([[[node childAtIndex:counter] name] isEqual:@"time_zone"]){

                contact.status == [[node childAtIndex:counter] stringValue];
                [res addObject:contact];
                [contact release];
            }
        } 
    }
    self.contactsArray = res;
    [res release];
    [self.tableView reloadData];

}

先谢谢你的帮助!!

菲奥娜

1 个答案:

答案 0 :(得分:1)

可能是一个错误,但为什么它们是等于(==),通常用于条件检查