【发布时间】:2014-05-08 07:43:22
【问题描述】:
我目前正在制作一个应用程序,可以通过单击某些表格视图单元格然后转到单独的视图控制器来编辑存储在某些表格视图单元格中的信息。
更改完成后,按下保存按钮,并在 parse.com 上更新字段 我的问题是,一旦我回到我的主 tableViewController,表格单元格不会更新,除非我完全重新启动应用程序,此时所有内容都显示为更新。
我已经像 iOS 教程中那样调用了 [self.tableView reloadData] 方法,但它似乎不会更新。
这是我要更新的控制器的 .m 文件。
@interface ProspectsTableViewController ()
@end
@implementation ProspectsTableViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.currentUser = [PFUser currentUser];
PFQuery *query = [PFQuery queryWithClassName:@"Prospect"];
[query orderByAscending:@"prospectName"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"Error in prospect cells");
}
else {
self.allProspects = objects;
NSLog(@"%@", self.allProspects);
[self.tableView reloadData];
}
}];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [self.allProspects count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ProspectCell";
UITableViewCell *prospectCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
PFObject *prospect = [self.allProspects objectAtIndex:indexPath.row];
prospectCell.textLabel.text = prospect[@"prospectName"];
return prospectCell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"cell pressed");
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[self performSegueWithIdentifier:@"showProspectInfo" sender:cell];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"showProspectInfo"]) {
ProspectInfoViewController *transferViewController = segue.destinationViewController; //prepares an instance of the prospectsTableViewController so we can pass our information over to the next view controller
PFObject *prospect = self.allProspects[self.tableView.indexPathForSelectedRow.row]; //selects the information from the prospect at the cell tapped on
transferViewController.name = prospect[@"prospectName"];
transferViewController.phone = prospect[@"phoneNumber"];
transferViewController.email = prospect[@"email"];
transferViewController.objectId = [prospect objectId];
}
}
@end
有什么想法吗?我一直在努力解决这个问题已经有一段时间了
提前致谢!
【问题讨论】:
标签: ios objective-c uitableview