我有一个 UIViewController,里面有一个 UITableView。UIViewController 不是 UITableViewController,因为视图上还有其他内容。如果我不连接任何插座,空表和其他东西一起出现在视图上,没有错误。如果我将 UIViewController 的插座连接到 UITableView,我会收到以下错误:
'[<UIViewController 0x748a420> setValue:forUndefinedKey:]: 这个类对于 key tableStories 来说是不符合键值编码的。'
如果我还将数据源和委托插座从 UITableView 连接到 UIViewController,我会得到同样的错误。这是视图控制器的 .h
#import <UIKit/UIKit.h>
@interface IntroViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, weak) IBOutlet UITableView *tableStories;
@property (nonatomic, strong) NSManagedObjectContext* managedObjectContext;
@property (nonatomic, strong) NSArray *stories;
这是.m
@implementation IntroViewController
@synthesize tableStories;
@synthesize stories;
@synthesize managedObjectContext;
- (void)viewDidLoad
{
    [super viewDidLoad];
    tableStories.delegate = self;
    tableStories.dataSource = self;
    managedObjectContext = ((ReadMeAppDelegate *)[UIApplication sharedApplication].delegate).managedObjectContext;
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"RMStory" inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];
    NSError *error;
    self.stories = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [stories count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    if (cell == nil) {
         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    RMStory *thisStory = [stories objectAtIndex:indexPath.row];
    cell.textLabel.text = thisStory.title;
    cell.detailTextLabel.text = [NSString stringWithFormat:@"%@", thisStory.author];
    return cell;
}
它可能与我的核心数据命令有关,但我一直在尝试堆栈中提到的其他解决方案来克服这个错误,但到目前为止没有任何效果。:-/
另外,我从另一个应用程序导入了故事板,所以可能会造成一些麻烦。