Имам странен проблем в моето приложение Cocoa. Имам главен прозорец с NSTableView в него с контролен клас (PropValTableHandler). Направих връзките между моя NSTableView и PropValTableHandler, но когато се извика методът „numberOfRowsInTableView“, изглежда, че не се използва „PropValTableHandler“, инициализиран в „AddDelegate“, тъй като полето „propMan“ не е инициализирано (това е като използва се нормалният init, така че трябва да бъде друг екземпляр от този клас). Правя ли нещо нередно? Имам друг манипулатор на NSTableView в друг прозорец, който работи, но няма персонализиран метод за стартиране.
Изходни кодове:
AppDelegate
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize propValTableController = _propValTableController;
-(id) init
{
self = [super init];
if (self)
{
_propMan = [[OCPropertyManager alloc]initWithPath:"./data/"];
_propValTableController = [[PropValTableHandler alloc]
[initWithPropManager:_propMan];
}
return self;
}
PropValTableHandler
@interface PropValTableHandler : NSObject <NSTableViewDataSource>
@property IBOutlet NSTableView * constants;
@property OCPropertyManager * propMan;
-(id) initWithPropManager:(OCPropertyManager*)pm;
-(NSInteger) numberOfRowsInTableView:(NSTableView *)tableView;
@end
#import "PropValTableHandler.h"
@implementation PropValTableHandler
-(id) initWithPropManager:(OCPropertyManager*)pm
{
self = [super self];
if (self)
{
self.propMan = pm;
}
return self;
}
/*********** TABLEVIEW DATASOURCE ******************/
-(NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
{
NSInteger count = [_propMan.consts count];
return count;
}
/**************************************************/
@end
_propMan
? - person Zhans   schedule 07.04.2014