在textFieldShouldEndEditing 方法中调用[self.tableView reloadData] 失效问题

Posted shuleihen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在textFieldShouldEndEditing 方法中调用[self.tableView reloadData] 失效问题相关的知识,希望对你有一定的参考价值。

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {

 

    NSString *value = [NSString stringWithFormat:@"%.2f", [textField.text floatValue]];

    if ([value floatValue] >= 1) {

        textField.text = value;

        [self calculateServiceFees];

    } else {

        self.values[@"xx"] = @"$0.00";

        self.values[@"xxx"] = @"$0.00";

        textField.text = ([value floatValue]>0.0)?value:@"";

//        [self.tableView performSelector:@selector(reloadData)];

        [self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

//        [self.tableView reloadData];

    }

    return YES;

}

第一种解决方法:改成 performSelectorOnMainThread 调用刷新才成功。

第二种解决方法,就是放到 textFieldDidEndEditing 回调中处理

以上是关于在textFieldShouldEndEditing 方法中调用[self.tableView reloadData] 失效问题的主要内容,如果未能解决你的问题,请参考以下文章

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据