1
私はTim Istedの "Beginning Mac Programming"という本を読んでいます.NSTableViewを扱うプログラムがついています。 私はNSDocumentから継承したCocoaアプリを持っています。アプリにはNSTableViewが含まれています。テーブルビューのデータソースをファイルの所有者に設定しました。実行時に* NSTableViewデータソースが不正です。 numberOfRowsInTableViewを実装する必要がありますとのtableView:objectValueForTableColumn:行:MyDocument.hのNSTableView不正なデータソース
インタフェースの実装は
#import "MyDocument.h"
@implementation MyDocument
- (id)init
{
self = [super init];
if (self) {
shoppingListArray = [[NSMutableArray alloc] initWithObjects:@"pane",@"latte",@"pasta", nil];
}
return self;
}
-(IBAction)addNewItemToShoppingList:(id)sender{
NSString *item = [newItemTextField stringValue];
[shoppingListArray addObject:item];
[shoppingListTableView reloadData];
NSLog(@"allocated");
}
-(void)dealloc{
[shoppingListArray release];
[super dealloc];
}
-(NSInteger)numberOfRowsInTableView{
return [shoppingListArray count];
}
-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex{
return [shoppingListArray objectAtIndex:rowIndex];
}
私が間違って何をやっている間
#import <Cocoa/Cocoa.h>
@interface MyDocument : NSDocument {
IBOutlet NSTextField *newItemTextField;
IBOutlet NSTableView *shoppingListTableView;
NSMutableArray *shoppingListArray;
}
-(IBAction)addNewItemToShoppingList:(id)sender;
-(void)dealloc;
-(NSInteger)numberOfRowsInTableView;
-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;
@end
あります?どうもありがとう。
ああ、それは本当に見逃していました。ありがとう。 – tagomago