• 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: NSTableview datasource issues
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTableview datasource issues


  • Subject: Re: NSTableview datasource issues
  • From: Alexander Spohr <email@hidden>
  • Date: Sun, 20 Dec 2009 15:52:20 +0100

Did you set a breakpoint on the data source methods?

Please reread about memory management. Your code is full of wrong retains.

Why is segmentDict a global variable? You just assign to it but never release it.
segmentIndustry is a class and should be named with a capital S.

segmentIndustryData is always empty. How should it populate your table view?

	atze




Am 20.12.2009 um 02:09 schrieb email@hidden:

> I know this has been discussed before, but I have been going through the issue of reloadData and datasource methods not running. I cannot figure out what is going on with my datasource methods.
> Everything is connected. But when on [segmentTableView reloadData], no datasource method is run.
> After the application was running, I debugged the code and checked the classes of SelectorController and TableSource. They are all connected in runtime.For table view, I only connected it to SelectorController -> segmentTableView, and its dataSource to SelectorController -> segmentTableView. All of them are connected properly in runtime.In Log, when I print the datasource and delegate of SegmentTableView, it shows SelectorController.
>
> This is troublesome as I have 4 other tables in the same application that are loaded properly through their dedicated datasources.
> It is only in this table that nothing is working. What am I missing? Your help is invaluable.
>
>
> Her is some of the relevant code:
>
>
> // SelectorController.h
> #import <Cocoa/Cocoa.h>
> @classsegmentIndustry;
>
>
> @interface SelectorController : NSObject {
> NSMutableArray *segmentIndustryData;
> IBOutletNSTableView *segmentTableView;
> IBOutletNSArrayController *segmentDataController;
>
> IBOutletNSButton *stockSelectButton;
> intmodelRS;
>
> }
>
> -(void) insertObject:(segmentIndustry *) s inSectorDataAtIndex:(int)index;
>
> -(IBAction) initializeSectorSegmentData:(id) sender;
> @end
>
>
>
> // SelectorController.m
>
>
>
> #import "SelectorController.h"
> #import "segmentIndustry.h"
> #import "MyDocument.h"
>
>
> NSDictionary *segmentDict;
>
>
> @implementation SelectorController
>
>
> - (id)init
> {
> self = [superinit];
> if (self) {
>
> // Add your subclass-specific initialization here.
> // If an error occurs here, send a [self release] message and return nil.
> segmentDict =[NSMutableDictionarydictionary];
> [segmentDictretain];
>
> }
> return (self);
> }
> - (void)awakeFromNib
> {
> segmentIndustryData=[[NSMutableArrayalloc] init];
> [segmentIndustryDataretain];
> segmentDataController=[[NSArrayControlleralloc] init];
> [segmentDataControllerretain];
>
>
> }
> //Load into TableView in the GUI
> #pragma mark Table view dataSource methods
>
>
> - (int) numberOfRowsInTableView:(NSTableView *) TableView
> {
> return [segmentIndustryDatacount];
>
> }
>
>
> -(id)tableView:(NSTableView *)aTableView
> ObjectValueForTableColumn:(NSTableColumn *)aTableColumn
> row:(int)rowIndex
> {
>
> NSString *identifier =[aTableColumn identifier];
> segmentIndustry *stock =[segmentIndustryDataobjectAtIndex:rowIndex];
> return [stock valueForKey:identifier];
>
> }
>
>
> -(void) tableView:(NSTableView *) aTableView
> setObjectValue:(id)anObject
> forTableColumn:(NSTableColumn *) aTableColumn
> row:(int) rowIndex
> {
> NSString *identifier =[aTableColumn identifier];
> //What stock?
> segmentIndustry *stock =[segmentIndustryDataobjectAtIndex:rowIndex];
> [stock setValue:anObject forKey:identifier];
>
> //Set the value for the attribute named identifier
> }
>
>
>
>
>
>
>
> -(IBAction)initializeSectorSegmentData:(id) sender
> {
> segmentDict=[[MyDocumentgetSectorSegmentData:(id) sender] mutableCopy];
> [segmentDictretain];
> NSWindow *w =[segmentTableViewwindow];
> [wmakeKeyWindow];
> //Fill the table row by row;
> int i=0;
> NSMutableArray *aXtemp;
> if ([segmentIndustryDatacount]>0) [segmentIndustryDataremoveAllObjects];
> [[segmentDataControllercontent] removeAllObjects];
> for (idkeyinsegmentDict)
> {
> aXtemp = [NSMutableArrayarrayWithArray:[(NSArray *)[segmentDictobjectForKey:key] mutableCopy]];
> if ([(NSString *) [aXtemp lastObject] intValue]== modelRS) {
> [aXtemp insertObject:(NSString*) keyatIndex:(NSUInteger)1];
> segmentIndustry *s = [[segmentIndustryalloc] init];
> [s setSegName:(NSString *)[aXtemp objectAtIndex:(NSUInteger) 0]];
> [s setSegOther:(NSString *)[aXtemp objectAtIndex:(NSUInteger)1]];
> [s setSegIndustry:(NSString*)[aXtemp objectAtIndex:(NSUInteger)2]];
> [s setSegSector:(NSString *)[aXtemp objectAtIndex:(NSUInteger) 3]];
> // Add it to the content array of 'stockDataController'
> [segmentDataControlleraddObject:s];
> [selfinsertObject: s inSectorDataAtIndex:(int)i];
> ++i;
> }
> }
>
> //Re-sort (in case the user has sorted a column
> [segmentDataControllerrearrangeObjects];
>
> // Get the sorted array
>
> NSArray *a = [segmentDataController arrangedObjects];
> for ( i=0;i<[a count];++i) {
> [segmentTableView editColumn:0 row:i withEvent:nil select:YES];
>
> [segmentTableViewreloadData];
>
> }
>
>
>
>
> _______________________________________________
>
> 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

_______________________________________________

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

References: 
 >NSTableview datasource issues (From: email@hidden)

  • Prev by Date: Re: passing a method name?
  • Next by Date: Re: Core Data - Importing using NSOperation - Problems on main thread
  • Previous by thread: NSTableview datasource issues
  • Next by thread: Re: NSTableview datasource issues
  • Index(es):
    • Date
    • Thread