Cocoa-devListMembers,

In my AppController I have a NSMutableArray which stores all user request/response objects made by the application. The requests are a subclass of NSObject with two NSDictionaries. The first NSDictionary has three key value pairs which comprise the request portion of the root object. I would like to use the objects for each [[rootObject firstDict] objectForKey:@"key1"] for one combobox and the values for [[rootObject firstDict] objectForKey:@"key2"] for another combobox. Finally, as [[rootObject firstDict] objectForKey:@"key3"] is a NSDictionary; I would like to store these objects in a NSTableView. Instead of subclassing NSArray I created a Category!

I am not able to get the Category methods to perform NSLog after setting my data source in the App Controller and reloading data (I'm pretty sure a few of those methods should fire to reloadData). From the below view, is there something I'm missing? Or should I not be using Categories for this purpose (I do understand Categories add these methods to all MutableArrays, but I don't see any negative impact at this point in my app)?

I know my use of code punctuation is not per documentation's example, but it's how i parse it best.

Thanks to all who read this far ;)
Frank

Here is what I have:

//### DPExtra_NSComboBoxDataSource.h
@interface NSMutableArray(DPMutableArrayAdditions)

-(NSString *)comboBox:(NSComboBox *)aComboBox completedString: (NSString *)uncompletedString; -(NSUInteger)comboBox:(NSComboBox *)aComboBox indexOfItemWithStringValue:(NSString *)aString; -(id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex: (NSInteger)index;
-(NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox;
//### End DPExtra_NSComboBoxDataSource.h

//### DPExtra_NSComboBoxDataSource.m
@implementation NSMutableArray(DPMutableArrayAdditions)

-(NSString *)comboBox:(NSComboBox *)aComboBox completedString: (NSString *)uncompletedString{ NSLog(@"comboBox: %@ completedString: %@", aComboBox, uncompletedString);
        return [super comboBox:aComboBox completedString:uncompletedString];
}
-(NSUInteger)comboBox:(NSComboBox *)aComboBox indexOfItemWithStringValue:(NSString *)aString{ NSLog(@"comboBox: %@ indexOfItemWithStringValue: %@", aComboBox, aString);
        return [super comboBox:aComboBox indexOfItemWithStringValue:aString];
}
-(id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex: (NSInteger)index{ NSLog(@"comboBox: %@ objectValueForItemAtIndex: %i", aComboBox , index);
        return [super comboBox:aComboBox objectValueForItemAtIndex:index];
}
-(NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox{
        NSLog(@"numberOfItemsInComboBox: %@", [aComboBox description]);
        return [super numberOfItemsInComboBox:aComboBox];
}
//### End DPExtra_NSComboBoxDataSource.m

//### DPAppController.m init
// Create the array to hold all rest requests in cache
// ** recursively release header dicts and restRequests in dealloc
restRequests = [[NSMutableArray alloc] init];
                
// This is test data in place a cache loading
NSDictionary *firstHeader = [NSDictionary dictionaryWithObjectsAndKeys:@"application/json", @"Accept", @"text", @"Content-type", nil]; DPRestRequest *firstRequest = [[DPRestRequest alloc] initWithUrl:@"http://localhost " andMethod:@"GET" andHeader:firstHeader];
                
NSDictionary *secondHeader = [NSDictionary dictionaryWithObjectsAndKeys:@"application/json", @"Accept", @"text", @"Content-type", @"cREST/0.1", @"User-Agent", @"Sunday, 01-01-69 00:00:00 EST", @"If-Modified-Since-Date", nil]; DPRestRequest *secondRequest = [[DPRestRequest alloc] initWithUrl:@"http://localhost " andMethod:@"GET" andHeader:secondHeader];
// Add the test data to the array
[restRequests addObject:firstRequest];
[restRequests addObject:secondRequest];
// End init

// -(void)applicationDidFinishLaunching:(NSNotification *)aNotification{
[urlInput setDataSource:restRequests];
[urlInput reloadData];
//### End DPAppController.h


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to