Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding the largest value in an NSTreeController?



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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden

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



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.