作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在连接到一个数据库,然后获取一堆我用 NSXMLParser 解析的 xml(如下所示)完成后,我想将数组数据传递给另一个方法来对其进行排序,然后分离数组分成几个部分(这样我的 uitableview 索引就可以工作了)。并最终显示在我的表格 View 中。
我的主要问题是如何(在代码中的什么位置)将我的数据数组传递给我创建的方法。
#pragma mark - Parsing lifecycle
- (void)startTheParsingProcess:(NSData *)parserData
{
[myDataArray release]; // clears array for next time it is used.
myDataArray = [[NSMutableArray alloc] init]; //initalizes the array, this is a must have!!!! :)
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:parserData]; //incoming parserDatapassed to NSXMLParser delegate which starts parsing process
[parser setDelegate:self];
[parser parse]; //Starts the event-driven parsing operation.
[parser release];
//[self.tableView reloadData]; // this reloads the data in the tabel view once the nsmutablearray has been filled with values
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqual:@"item"]) {
// NSLog(@"Found title!");
itemString = [[NSMutableString alloc] init];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
[itemString appendString:string];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqual:@"item"]) {
//NSLog(@"ended title: %@", itemString);
[myDataArray addObject:itemString]; //this is where i pass the values over to my array.
//TODO: Test release on memory consumption etc
[itemString release];
itemString = nil;
}
}
//method to sort array and split for use with uitableview Index
- (IBAction)startSortingTheArray:(NSMutableArray *)arrayData
{
}
最佳答案
为您的 NSXMLParser 实现 didEndDocument 委托(delegate)方法,如果您的 - (IBAction)startSortingTheArray:(NSMutableArray *)arrayData 返回类型是非 IBAction,可以说它的返回类型是 void 以下应该可以正常工作。我不知道将 arrayData 传递给 IBAction 返回类型方法时会发生什么。
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
[self startSortingTheArray:myDataArray];
}
关于iphone - 如何将数组数据传递给另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439181/
我是一名优秀的程序员,十分优秀!