XMLパーサーを使用してデータを取得しています。
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ( [elementName isEqualToString:@"country"] )
{
x++;
[messages addObject:[NSDictionary dictionaryWithObjectsAndKeys:Id,@"ID",Name,@"NAME",Image,@"IMAGE",nil]];
//**111**
NSLog(@"Data in Message : %@", [messages objectAtIndex:(x-1)]);
[Id setString:@""];
[Name setString:@""];
[Image setString:@""];
}
if ( [elementName isEqualToString:@"id"] )
{
[Id appendString:currentNodeContent];
}
if ( [elementName isEqualToString:@"name"] )
{
[Name appendString:currentNodeContent];
}
if ( [elementName isEqualToString:@"im"] )
{
[Image appendString:currentNodeContent];
}
}
// At // * 111 *メッセージは出力されますが、xmlパーサーを呼び出した後にこれを実行すると、出力されません。
chatParser = [[NSXMLParser alloc] initWithData:receivedData];
[chatParser setDelegate:self];
[chatParser parse];
NSLog(@"\n\nMessages...\n\n%@", messages); //here there is no data printing
この時点で、空で印刷されています。
メッセージ。
(
{
ID = "";
IMAGE = "";
NAME = "";
},
{
ID = "";
IMAGE = "";
NAME = "";
},
{
ID = "";
IMAGE = "";
NAME = "";
},
{
ID = "";
IMAGE = "";
NAME = "";
},
{
ID = "";
IMAGE = "";
NAME = "";
},
)
メッセージのプロパティを定義し、それを合成しました。viewDidLoadで私はこれをしました
messages=[[NSMutableArray alloc] init];
助けてくれてありがとう..