l'application iOS (cette classe n'est pas la valeur de la clé de codage conforme pour la touche de source de données)

Je suis en train de faire une application iPhone, et je suis en train de travailler à ce TableViewController, mais lors des tests, j'obtiens cette erreur, et je ne sais pas vraiment quoi faire avec elle:

2012-01-13 13:45:32.947 HandHistory Reviews[3422:707] *** 
Terminating app due to uncaught exception 'NSUnknownKeyException', 
reason: '[<SessionsTableViewController 0x191cb0> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key dataSource.'

Quelqu'un a une idée?

C'est mon SessionTableViewController.m fichier:

#import "SessionsTableViewController.h"
#import "Session.h"
@interface SessionsTableViewController()
@property (nonatomic, copy) NSArray *sessions;
@end
@implementation SessionsTableViewController
@synthesize sessions = _sessions;
#pragma mark - View lifecycle
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSMutableArray *sessions = [[NSMutableArray alloc] init];
//Looking for files
//Finding the Documents directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil];
//Looping through each file in the directory
for (NSString *file in directoryContent)
{
NSString *contents = [NSString stringWithContentsOfFile:[[paths objectAtIndex:0] stringByAppendingPathComponent:file] encoding:NSUTF8StringEncoding error:nil];
Session *session = [[Session alloc] initWithName:file andContents:contents];
[sessions addObject:session];
}
self.sessions = sessions;
}
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.sessions count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Session Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//cell.textLabel.text = [[self.sessions objectAtIndex:indexPath.row] name];
//cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"%d hands", 10];
return cell;
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Navigation logic may go here. Create and push another view controller.
/*
<#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
//...
//Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
*/
}
@end
découvrez NSLog la première session

OriginalL'auteur Sander Declerck | 2012-01-13