• 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
Re: Finding the largest value in an NSTreeController?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding the largest value in an NSTreeController?


  • Subject: Re: Finding the largest value in an NSTreeController?
  • From: Jonathan Dann <email@hidden>
  • Date: Sat, 31 May 2008 10:57:36 +0100

To get all the nodes in the tree I do a depth-first search (10.5 only). Add the first method in an NSTreeNode category and the second to a category on NSTreeController.

// NSTreeNode_Extensions
- (NSArray *)descendants;
{
	NSMutableArray *array = [NSMutableArray array];
	for (NSTreeNode *item in [self childNodes]) {
		[array addObject:item];
		if (![item isLeaf])
			[array addObjectsFromArray:[item descendants]];
	}
	return [[array copy] autorelease];
}

// NSTreeController_Extensions
- (NSArray *)flattenedNodes;
{
	NSMutableArray *array = [NSMutableArray array];
	for (NSTreeNode *node in [self rootNodes]) {
		[array addObject:node];
		if (![[node valueForKey:[self leafKeyPath]] boolValue])
			[array addObjectsFromArray:[node valueForKey:@"descendants"]];
	}
	return [[array copy] autorelease];
}

You then have an NSArray with all of the NSTreeNodes and can just call [treeNodesArray valueForKey:@"representedObject"] to get you model objects, and then can do whatever you like. If you're using Core Data, can't you fetch all your managed objects and determine the one with the max vaule?

Jon

On 31 May 2008, at 10:35, Rick Mann wrote:

I'd like to find the largest integer value of one of my entity fields, stored in an NSTreeController. Is this possible? I'm trying to use "@max", but getting back null on every variant:

NSNumber* maxVal = [mItemsController valueForKeyPath: @"@max.number"];

I also tried with "arrangedOBjects".

I can't even figure out how to manually iterate the objects. Is there a way?

TIA,
--
Rick

_______________________________________________

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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

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

  • Follow-Ups:
    • Re: Finding the largest value in an NSTreeController?
      • From: Rick Mann <email@hidden>
References: 
 >Finding the largest value in an NSTreeController? (From: Rick Mann <email@hidden>)

  • Prev by Date: Finding the largest value in an NSTreeController?
  • Next by Date: Re: KVO: I get called on change, but then can't get the object
  • Previous by thread: Finding the largest value in an NSTreeController?
  • Next by thread: Re: Finding the largest value in an NSTreeController?
  • Index(es):
    • Date
    • Thread