• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
sorting xml using tableview datasource method?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sorting xml using tableview datasource method?


  • Subject: sorting xml using tableview datasource method?
  • From: Chunk 1978 <email@hidden>
  • Date: Wed, 4 Nov 2009 15:24:28 -0500

i'm failing to sort the xml data on my tableview.  am i suppose to
make a model class for the data and have the table view display/sort
that instead?  i'm quite with this one.  am i suppose to enter values
in Sort Key and Selector IB fields for each column? doing so returns:
-[NSXMLElement compare:]: unrecognized selector sent to instance
0x162b6430.  what am i missing here?


- (IBAction)parseData:(id)sender
	{
	[progressIndicator setHidden:NO];
	[progressIndicator startAnimation:nil];

	NSURL *url = [NSURL URLWithString:kXMLWebAddress];
	NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30];  //cachePolicy: 10.5 or higher
	NSData *urlData = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:nil error:nil];
	NSXMLDocument *doc = [[NSXMLDocument alloc] initWithData:urlData
options:0 error:nil];

	[itemNodes release];
	itemNodes = [[doc nodesForXPath:@"stations/station" error:nil] retain];
	[tableView reloadData];

	[progressIndicator setHidden:YES];
	[progressIndicator stopAnimation:nil];
	}

- (void)dealloc
	{
	[itemNodes release];
	[super dealloc];
	}

- (NSString *)stringForPath:(NSString *)xPath ofNode:(NSXMLNode *)node
	{
	NSError *error;
	NSArray *nodes = [node nodesForXPath:xPath error:&error];

	if ([nodes count] == 0)
		return nil;
		else
		return [[nodes objectAtIndex:0] stringValue];
	}


#pragma mark -
#pragma mark Table View Datasourse Methods

- (int)numberOfRowsInTableView:(NSTableView *)theTableView
	{
	return [itemNodes count];
	}

- (id)tableView:(NSTableView *)theTableView
objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
	{
	NSXMLNode *node = [itemNodes objectAtIndex:row];
	NSString *xPath = [tableColumn identifier];
	return [self stringForPath:xPath ofNode:node];
	}

- (void)tableView:(NSTableView *)aTableView
sortDescriptorsDidChange:(NSArray *)oldDescriptors
	{
	[itemNodes sortUsingDescriptors:[aTableView sortDescriptors]];
	[aTableView reloadData];
	}
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Don't highlight button's text when clicked
  • Next by Date: Re: UIView animation docs question
  • Previous by thread: [fixed]Re: Don't highlight button's text when clicked
  • Next by thread: NSTreeController, Core Data and root objects
  • Index(es):
    • Date
    • Thread