Я делаю приложение для iPhone и работаю над этим TableViewController, но при тестировании у меня появляется эта ошибка, и я не знаю, что с ней делать:
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.'
Кто-нибудь получил идею?
Это мой файл SessionTableViewController.m:
#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