【问题标题】:Table view not reloading after data is saved保存数据后表视图未重新加载
【发布时间】:2016-09-22 16:31:19
【问题描述】:

我已经使用表格视图创建了一个基本的聊天应用程序。当我的用户点击“发送”按钮将消息传递给另一个用户时,我希望此 tableview 刷新,以便实时显示消息。也就是说,我放置 [self.tableView reloadData] 的位置目前似乎没有完成工作。见以下代码:

- (IBAction)sendReply:(id)sender {


    NSMutableDictionary *nodeData = [NSMutableDictionary new];

    [nodeData setObject:@"messages" forKey:@"type"];


    NSDictionary *messageValues = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:self.replyText.text, nil] forKeys:[NSArray arrayWithObjects:@"value", nil]];
    NSDictionary *finalMessage = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:messageValues] forKey:@"und"];

    [nodeData setObject:finalMessage forKey:@"body"];

     NSString *otherUID = [self.messageData objectForKey:@"targetuser"];


    NSString *userValue = otherUID;

    NSDictionary *targetMessage = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:userValue, nil] forKeys:[NSArray arrayWithObjects:@"value", nil]];
    NSDictionary *finalUser = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:targetMessage] forKey:@"und"];

    [nodeData setObject:finalUser forKey:@"field_targetuser"];

    [nodeData setValue: @"Re:" forKey:@"title"];


    NSString *uid = [[[DIOSSession sharedSession] user] objectForKey:@"uid"];


    [DIOSNode nodeSave:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {


          [self.tableView reloadData];


        MessageSentViewController *sentView = [[MessageSentViewController alloc] init];
        [self presentViewController:sentView animated:YES completion:nil];



    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Node did not save!");
    }];


}

【问题讨论】:

  • [self.tableView reloadData]; 正在执行中?
  • @Mr.UB 如果它正在执行,它不应该更新我的tableView吗?例如。当一条新消息发布到我的服务器并执行 reloadData 时,它应该在我的 tableView 中显示新帖子吗?
  • 您是否正在使用当前数据更新您的阵列?我认为表格正在重新加载,但数据没有。
  • @Mr.UB 啊哈有趣。我认为重新加载 tableView 会自动更新数组。我应该插入一行代码来更新数组吗?
  • @Mr.UB 完成 - 谢谢! :)

标签: ios objective-c uitableview


【解决方案1】:

尝试在主/单独线程上重新加载 tableview

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    相关资源
    最近更新 更多