Ios TableView重新加载数据故障

Ios TableView重新加载数据故障,ios,uitableview,Ios,Uitableview,我有一个函数,它创建几个数组并用数据填充它们。我从viewDidLoad执行此函数 在函数中,我添加了[self.tableview reloadData] 我设置了断点等,它甚至没有进入numberOfRowsInTableView等。是否应该[self.tableview reloadData]执行所有的表视图功能,使其出现在iPhone屏幕上 **更新** 首先调用该函数: - (void)viewDidLoad { [super viewDidLoad]; ViewC

我有一个函数,它创建几个数组并用数据填充它们。我从
viewDidLoad
执行此函数

在函数中,我添加了
[self.tableview reloadData]

我设置了断点等,它甚至没有进入
numberOfRowsInTableView
等。是否应该
[self.tableview reloadData]
执行所有的表视图功能,使其出现在iPhone屏幕上

**更新**

首先调用该函数:

- (void)viewDidLoad
{

    [super viewDidLoad];

    ViewController *GetDeals = [[ViewController alloc] init];
    [GetDeals TopDealsRecieve:[[NSUserDefaults standardUserDefaults] objectForKey:@"DeviceToken"]];

    [self.tableview setDelegate:self];
    [self.tableview setDataSource:self];

    [self.tableview reloadData];
函数topdalsrecieve获取如下数组:

 NSLog(@"%@", responseObject);
        allLogos = [[responseObject valueForKey:@"data"] valueForKey:@"logo"];
        allcontent = [[responseObject valueForKey:@"data"] valueForKey:@"content"];
        allpostode = [[responseObject valueForKey:@"data"] valueForKey:@"postcode"];
        NSLog(@"%lu", (unsigned long)allcontent.count);
        allname = [[responseObject valueForKey:@"data"] valueForKey:@"name"];
        alladdress = [[responseObject valueForKey:@"data"] valueForKey:@"address"];
        alladdress2 = [[responseObject valueForKey:@"data"] valueForKey:@"address2"];
        alllat = [[responseObject valueForKey:@"data"] valueForKey:@"lat"];
        alllong = [[responseObject valueForKey:@"data"] valueForKey:@"lng"];
        // refresh the table view
        [self.tableview setDelegate:self];
        [self.tableview setDataSource:self];
        [self.tableview reloadData];
// global var

NSArray *alllocationsID;
NSArray *alllocationsCity;
NSArray *allLogos;
NSArray *allcontent;
NSArray *allpostode;
NSArray *allname;
NSArray *alladdress;
NSArray *alladdress2;
NSArray *alllat;
NSArray *alllong;
以及:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   NSLog(@"wnks %lu",(unsigned long)allcontent.count);
   return allcontent.count;

}
所有变量在我的代码中都可用,它们的分配方式如下:

 NSLog(@"%@", responseObject);
        allLogos = [[responseObject valueForKey:@"data"] valueForKey:@"logo"];
        allcontent = [[responseObject valueForKey:@"data"] valueForKey:@"content"];
        allpostode = [[responseObject valueForKey:@"data"] valueForKey:@"postcode"];
        NSLog(@"%lu", (unsigned long)allcontent.count);
        allname = [[responseObject valueForKey:@"data"] valueForKey:@"name"];
        alladdress = [[responseObject valueForKey:@"data"] valueForKey:@"address"];
        alladdress2 = [[responseObject valueForKey:@"data"] valueForKey:@"address2"];
        alllat = [[responseObject valueForKey:@"data"] valueForKey:@"lat"];
        alllong = [[responseObject valueForKey:@"data"] valueForKey:@"lng"];
        // refresh the table view
        [self.tableview setDelegate:self];
        [self.tableview setDataSource:self];
        [self.tableview reloadData];
// global var

NSArray *alllocationsID;
NSArray *alllocationsCity;
NSArray *allLogos;
NSArray *allcontent;
NSArray *allpostode;
NSArray *allname;
NSArray *alladdress;
NSArray *alladdress2;
NSArray *alllat;
NSArray *alllong;
在ViewController的顶部。
当GetArray函数不是一个函数,而它只是放在ViewDidLoad中时,这确实起作用

在执行
[self.tableview reloadData]之前,您应该将这两行添加到方法
viewDidload
像这样

[self.tableview setDelegate:self];
[self.tableview setDataSource:self];

[self.tableview reloadData];

确保数据源和委托已连接到
UITableView
yes,它将调用方法。确保已完美实现委托和数据源是否从Xib或情节提要连接了数据源和委托?如果未使用
UITableViewController
,则必须实际设置表视图的
Delegate
Datasource
属性。似乎numberOfRowsInSection函数已启动立即,但当我重新加载时,它不会返回到它。您是否正在检查是否未将节数设置为0-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)节{NSLog(@“wnks%lu),(unsigned long)allcontent.count);返回allcontent.count;}它是0 yes,因为它在没有加载数据的情况下第一次运行。当数据函数启动时,我使用reloaddata和delegate=self,它不会返回到它。[self.tableview setDelegate:self];和[self.tableview setDataSource:self];如果在[self.tableview reloadData]之后执行此操作,将调用您的方法