2012-01-12 52 views
0

有人能告诉我什么,我需要做的解决这个XMLParsing - 字符串转换为NSNumber的

  1. 我有一个对象使用者偏好*用户偏好
  2. 有一个变量,名为userpref.userid,它是一个NSNumber的
  3. 我解析XML,直到我去我的“myxmluseridnumber”元素分配给userpref.userid

这是错误的信息在这里一切正常良好。

不兼容的指针类型,把 '的NSMutableString * _strong' 到类型的参数“的NSNumber

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

     if ([elementName isEqualToString:@"User"]) { 
      inItemElement = YES; 
     } 

     if (inItemElement && [elementName isEqualToString:@"myxmluseridnumber"]) { 
      capturedCharacters = [[NSMutableString alloc] initWithCapacity:100]; 
     } 
    } 

    - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 
     if(capturedCharacters != nil) { 
      [capturedCharacters appendString:string]; 
     } 
    } 

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

     if (inItemElement && [elementName isEqualToString:@"myxmluseridnumber"]) { 
      NSLog(@"%@ - myxmlnumber", capturedCharacters); 
      //This is what is producing my error 
      userpref.userid = capturedCharacters; 
      capturedCharacters = nil; 
     } 

     if ([elementName isEqualToString:@"User"]) { 
      inItemElement = NO; 
     } 

    } 

感谢

回答

0

更换你的错误,生产符合:

userpref.userid = [capturedCharacters intValue]; 

(假设你capturedCharacters是s NSString

1

由于用户ID是一个NSNumber,则应该从字符串capturedCharacters

userpref.userid =创建NSNumber [NSNumber的numberWithInt:[capturedCharacters 的intValue]];

+0

这一个很好,谢谢! – Harpua 2012-01-12 15:32:26