1

我指的是raywenderlich的教程,我已经完成了它所说的一切,但我的静态单元格仍然没有显示,对此有任何帮助....

但它可以在我连接的表视图中添加数据。

这是我故事板中的屏幕。

在此处输入图像描述

这是我的模拟器屏幕。

在此处输入图像描述

更新 1

当我有这样的更改代码时,将显示部分但仍不显示行。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

    // Return the number of sections.
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    // Return the number of rows in the section.
    return 0;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...

    return cell;
}

在此处输入图像描述

在 PlayerDetailVewController.h 委托中,

    @class Player;
    @class PlayerDetailsViewController;

    @protocol PlayerDetailsViewControllerDelegate <NSObject>
    - (void)playerDetailsViewControllerDidCancel:
    (PlayerDetailsViewController *)controller;
    //- (void)playerDetailsViewControllerDidSave:
    //(PlayerDetailsViewController *)controller;
    - (void)playerDetailsViewController:
    (PlayerDetailsViewController *)controller 
                           didAddPlayer:(Player *)player;
    @end
@interface PlayerDetailsViewController : UITableViewController

@property (nonatomic, weak) id <PlayerDetailsViewControllerDelegate> delegate;

更新 2

当我像这样更改部分返回 1 中的行时,

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

    // Return the number of sections.
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    // Return the number of rows in the section.
    return 1;
}

并显示这样的错误

2012-10-04 13:54:46.152 Rating[514:f803] *** Assertion failure in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:], /SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:6061
2012-10-04 13:54:46.154 Rating[514:f803] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
*** First throw call stack:
(0x13cf022 0x1560cd6 0x1377a48 0x9b02cb 0xb3d28 0xb43ce 0x9fcbd 0xae6f1 0x57d21 0x13d0e42 0x1d87679 0x1d91579 0x1d164f7 0x1d183f6 0x1d17ad0 0x13a399e 0x133a640 0x13064c6 0x1305d84 0x1305c9b 0x12b87d8 0x12b888a 0x19626 0x29cd 0x2935)
terminate called throwing an exception(lldb) 
4

2 回答 2

2

您是否在您正在使用的类中正确地实现了委托和数据UITableViewUITableViewCell

另外,您需要检查是否没有。的行和部分在数据源方法中是正确的UITableView

于 2012-10-03T14:59:12.853 回答
2

你的日志说

'UITableView dataSource 必须从 tableView 返回一个单元格:cellForRowAtIndexPath:'

这意味着 cellforrowatindexpath 不能返回任何值。删除此方法,

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2012-10-04T11:59:52.070 回答