1

我知道这已经被问了一遍又一遍。我已经尝试了所有给定的解决方案,但仍然没有用。我已将数据源和委托设置为我的表视图,并将其设置为我的指针。

这是我的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section     {
NSLog(@"%i", resultSoap.count);
return resultSoap.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell.

NSString *cellValue = [resultSoap objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
NSLog(@"Celldisplay");

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

return cell;
}

我已经调用了reloadData我的viewDidLoad:方法。问题是,它触发了numberOfRowsInSection:方法,我得到了正确的行数,但它没有触发这个cellForRowAtIndexPath:方法。

有什么解决办法吗?

4

3 回答 3

0

使用此代码:

urtableview.delegate = self;
urtableview.datasource = self;

在代码中声明 resultsoap 数组之后。

于 2014-04-22T07:11:25.040 回答
0

一定是表视图数据源数组“resultsoap”为空时调用了表的reload方法。确保您的数据源数组不为空,并检查该数组是否保存了对象。

因为如果numberOfRowsInSection返回 0 则cellForRowAtIndexPath可能不会被调用。这一定是你的情况。

于 2014-06-06T06:48:03.190 回答
-3

请在您合适的方法中添加波纹管代码。

如果您使用简单控制器并添加表格视图而不是

在你的头文件 .h

#import <UIKit/UIKit.h>
@interface TaskAndTax : UIViewController<UITableViewDelegate, UITableViewDataSource>
{
    IBOutlet UITableView *MyTableView;
}
@property (nonatomic, retain) UITableView *MyTableView;
@end

在你的 .m 文件中

@synthesize MyTableView;

-(void) viewWillAppear:(BOOL)animated
{
  [MyTableView reloadData];
}

并请在我们的案例中将 TableView 的 IBOutlet 将其 MyTableView 连接到 XIB 文件中的 TableView。 在我的情况下它的getclientTable。

于 2012-05-04T08:19:43.393 回答