IOS开发之——私人通讯录删除联系人

一 概述

本文介绍私人通讯录相关的联系人删除相关的操作,涉及以下知识点:

  • 左滑删除联系人,界面全局和局部刷新
  • 编辑联系人,界面全局和局部刷新
  • 左滑删除的文字如何显示中文删除

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:812157648,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

二 效果图

三 左滑删除联系人,界面全局和局部刷新

3.1 说明

  • 联系人ConTroller只要实现commitEditingStyle方法,列表项向左滑动会出现删除按钮
  • commitEditingStyle方法中自己实现删除数据并刷新界面

3.2 代码

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
    if (editingStyle==UITableViewCellEditingStyleDelete) {
        //删除数据
        [self.contacts removeObjectAtIndex:indexPath.row];
        //刷新界面
        //[self.tableView reloadData];//全局刷新
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];//删除局部
    }
    NSLog(@"%ld",indexPath.row);
}

四 编辑联系人,界面全局和局部刷新

4.1 功能说明

  • 联系人ConTroller的didUpdateContact方法是更新联系人要实现的方法
  • 在此方法中处理全局和局部刷新逻辑

4.2 代码

-(void)editViewController:(EditViewController *)edit didUpdateContact:(Contact *)contact
{
    //刷新表格
    //[self.tableView reloadData];//全部刷新
    NSIndexPath *selectIndex=[self.tableView indexPathForSelectedRow];
    [self.tableView reloadRowsAtIndexPaths:@[selectIndex] withRowAnimation:UITableViewRowAnimationLeft];
    //归档
    [NSKeyedArchiver archiveRootObject:self.contacts toFile:FilePath];
}

五 左滑删除的文字如何显示中文删除

5.1 前提

  • 系统语言是中文
  • 添加中文本地化

5.2 添加本地化操作

  • 依次选择:项目——>Locallization——>+,在弹出的语言列表中选择中文简体

原文作者:PGzxc
原文地址:https://blog.csdn.net/Calvin_zhou/article/details/109089890

posted @ 2021-01-23 15:23  iOS发呆君  阅读(167)  评论(0编辑  收藏  举报