Iphone 如何使用NSMutableArray count更新numberOfRowsInSection

Iphone 如何使用NSMutableArray count更新numberOfRowsInSection,iphone,uitableview,sdk,Iphone,Uitableview,Sdk,在我的应用程序中,我允许用户向UITableView添加新行NSString。我将这些新字符串保存在NSMutableArray*dataArray中 所以对于numberOfRowsInSection,我返回[dataArray count],但它似乎总是返回0,所以我的表不会自动填充 如果有帮助的话,当我将[dataArray count]的NSLog作为添加更多条目时,它将保持为0。为什么不增加呢 有什么帮助吗?如果不查看@您的代码,就无法预测原因 然后你也可以试试你的硬运气…如下: 首先

在我的应用程序中,我允许用户向UITableView添加新行NSString。我将这些新字符串保存在NSMutableArray*dataArray中

所以对于numberOfRowsInSection,我返回[dataArray count],但它似乎总是返回0,所以我的表不会自动填充

如果有帮助的话,当我将[dataArray count]的NSLog作为添加更多条目时,它将保持为0。为什么不增加呢


有什么帮助吗?

如果不查看@您的代码,就无法预测原因

然后你也可以试试你的硬运气…如下:

首先尝试NSLog您的dataArray,以检查记录是否添加到其中

没关系。。。你正在得到记录

那么你错过了一件事

重新加载表格。。 [tableView重新加载数据]


我认为这肯定会对你有所帮助。否则,在这里放一些代码。

如果不查看@你的代码,就不可能预测原因

然后你也可以试试你的硬运气…如下:

首先尝试NSLog您的dataArray,以检查记录是否添加到其中

没关系。。。你正在得到记录

那么你错过了一件事

重新加载表格。。 [tableView重新加载数据]


我认为这肯定会对您有所帮助。否则,请在此处添加一些代码。

您是否初始化了数组。以下是我是如何做到这一点的——也许有更好的方法

.h:

.m:


你已经初始化了你的数组。以下是我是如何做到这一点的——也许有更好的方法

.h:

.m:


是否在Interface Builder中为UITableView设置了委托?请检查一下


如果已添加,则必须使用该数据数组检查是否有记录。

是否在Interface Builder中为UITableView设置了委托?请检查一下


如果已添加,则必须使用该dataArray检查它是否有记录。

检查是否创建了dataArray变量(不是零)检查是否创建了dataArray变量(不是零)我遇到了相同的问题,是否需要在viewDidLoad方法中重新加载表视图中的数据?@opensourcelover无需。。但是你需要在数组中填充对象的地方重新加载TableView。也就是说,在数组中添加对象后,再简单地重新加载TableView。我也遇到了同样的问题,我们是否需要在viewDidLoad方法中重新加载表视图中的数据?@opensourcelover没有必要。。但是您需要在数组中填充对象的地方重新加载TableView,也就是说,在数组中添加对象之后,然后简单地重新加载TableView。
@interface RootViewController : UITableViewController {
NSArray *array;
}

@property (nonatomic, retain) NSArray *array;

@end
@implementation RootViewController
@synthesize array;

- (void)viewDidLoad {
    [super viewDidLoad];

    NSMutableArray *mArry = [[NSMutableArray alloc] init];
    [mArry addObject:@"An ObecjT"];
    self.array = mArry;
    [mArry release];

}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [array count];
}


// Customize the appearance of table view cells.
- (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.
    cell.textLabel.text = [array objectAtIndex:indexPath.row];

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSMutableArray *aNewArray = [[NSMutableArray alloc] initWithArray:array];
    [aNewArray addObject:@"Your Object"];
    self.array = aNewArray;
    [aNewArray release];
    [self.tableView reloadData];

}
- (void)viewDidUnload {
    self.array = nil;
}


- (void)dealloc {
    [array release];
    [super dealloc];
}