我刚买了一台新的 Mac,我从 Appstore 下载了 Xcode (4.5.1)。默认情况下,当您创建一个新项目时(在我的情况下,使用启用 Storyboard 的 Master/Detail 模板)它以 ios 6.0 为目标,并且该项目在我已升级到 6.0 的 iPhone 上运行良好。
为了在带有 5.1.1 的 iPhone 上运行它,我更改了部署目标。在 UITableView 添加和显示项目时在 5.1.1 上运行,我收到以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason:' -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]:
unrecognized selector sent to instance 0x1023b800'
这是引发错误的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSDate *object = _objects[indexPath.row];
cell.textLabel.text = [object description];
return cell;
}
从我以前的 iPhone 项目中,我习惯于在下面看到这个
if(cell == nil)
// Create the cell
但我认为我不需要这个,因为 Storyboard 已经在 UITableView 中添加了一个 Cell。
有小费吗..?
最好的问候Øystein