我开始我的第一个可可项目。我有一个认真的(对我来说),但也许是一个简单的问题(为你)解决,我需要一些方向从哪里开始。如何从我的表格数据源访问我的数组?
简短描述:我创建了一个类“PortConnection.h”,它在调用函数-listPorts时将外部类(AMSerial.h)找到的所有端口写入数组。下面是PortConnection.h
#import <Cocoa/Cocoa.h>
#import "AMSerialPortList.h"
#import "AMSerialPortAdditions.h"
#import "AMSerialPort.h"
@interface PortConnection : NSObject {
@private
AMSerialPort *port;
NSMutableArray *portArray;
}
- (void)listDevices;
@property (nonatomic, retain) NSMutableArray *portArray;
@property (nonatomic, retain) AMSerialPort *port;
@end
代码,到目前为止,这是完美的工作继PortConnection.m
#import "PortConnection.h"
#import "AMSerialPortList.h"
#import "AMSerialPortAdditions.h"
#import "AMSerialPort.h"
@implementation PortConnection
@synthesize portArray;
@synthesize port;
- (void)listDevices
{
// get an port enumerator
NSEnumerator *enumerator = [AMSerialPortList portEnumerator];
AMSerialPort *aPort;
while ((aPort = [enumerator nextObject]))
{
// Add Devices to Array
[portArray addObject:[aPort bsdPath]];
}
}
。 现在我的问题
我已经在GUI中实现了一个tableView来显示上面调用的方法的结果。这个文件被称为“PortTableViewController.h”,是我的TableView的数据源。
这里是.h文件
#import <Foundation/Foundation.h>
#import "PortConnection.h"
@interface PortTableViewController : NSObject <NSTableViewDataSource> {
@private
IBOutlet NSTableView *portTableView;
}
@property (assign) IBOutlet NSTableView *portTableView;
@end
,这里是.m文件:
#import "PortTableViewController.h"
#import "PortConnection.h"
@implementation PortTableViewController
@synthesize portTableView;
#pragma mark -
#pragma mark TableView Delegates
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{
PortConnection *portConnection = [[PortConnection alloc] init];
[portConnection listDevices];
return [portConnection.portArray count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
??????? I DO NOT HAVE A CLUE HOW TO ACCESS THE ARRAY IN PORTCONNECTION.M CORRECTLY
}
@end
问题:
1)当具有对TableViewDataSourceDelegates一看我该怎么办正确访问PortConnection.m类中填充的portArray。它似乎没有像我这样做的方式工作。
2)每次我想从tableviewdelegate方法中检索数据时,是否必须从Portconnection.h创建对象?
我非常感谢各种帮助!我想学习一些东西..我非常感谢你的支持!谢谢..为了帮助我的问题,请不要犹豫。我真的很感激....
感谢 塞巴斯蒂安
我刚刚更改了问题标题......谢谢 – konturgestaltung 2011-06-01 23:51:32
这就是我的问题......它会是: 'PortConnection * port = [[PortConnection alloc] init]' 在每一行的第一行委托方法? – konturgestaltung 2011-06-01 23:52:32