我是初学者。我在2014年5月5日获取了由杰伊·韦斯鲁瓦(Jay Versluis)创建的桌子的代码。它最初有2列,并从2个数组填充表格。有用。我将表更改为1列,并有一个数组从目录中读取文件名。该数组读取的名称很好,但是我的表中什么也没有出现。任何帮助将不胜感激。
// ——————— Interface —————————
#import <Foundation/Foundation.h>
@interface TableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>
@property (nonatomic, strong) NSArray *recipes;
@property NSFileManager *filemgr;
@property NSArray *filelist;
@end
// ———————— Implementation ———————————
#import "TableController.h"
@implementation TableController
static NSString* currentpath = @"/Users/rasweeny/Documents/Current_Recipes";
NSInteger count;
#pragma mark - Custom Initialisers
- (NSArray *)recipes {
_filemgr = [NSFileManager defaultManager];
_filelist = [_filemgr contentsOfDirectoryAtPath: currentpath error: nil];
count = [_filelist count];
for (int i = 0; i < count; i++)
NSLog (@"%@", [_filelist objectAtIndex: i]);
return _recipes;
}
#pragma mark - Table View Data Source
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
// how many rows do we have here?
return self.recipes.count;
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
// populate each row of our table view with data
return [self.recipes objectAtIndex:row];
}
#pragma mark - Table View Delegate
- (void)tableViewSelectionDidChange:(NSNotification *)notification {
NSTableView *tableView = notification.object;
NSLog(@"User has selected row %ld", (long)tableView.selectedRow);
}
@end