美文网首页
获取TableView界面所有cell

获取TableView界面所有cell

作者: BDCode | 来源:发表于2018-06-25 15:02 被阅读0次

    visible可见的   cell数组visibleCells  NSIndexPath的数组indexPathsForVisibleRows

    indexPathsForVisibleRows

         前几天做了个小需求,真心感觉苹果的TableView挺强大。刚好今天有时间就也在简书上记录下

        需求是添加手机通讯录联系人,并且可以自己定义姓名、电话、已选择的联系人可修改电话和姓名,并且保存到本地,下次进入直接显示。

    在点击返回按钮的时候加载这段代码

    NSArray *cellIndPaths = [_phoneTableView indexPathsForVisibleRows];获取的是所有的cell然后遍历

    PhoneTableViewCell *cell = [_phoneTableView cellForRowAtIndexPath:indexPath];有多少行cell就会进来多少次,每一行具体的cell没一行的cell都会与indexPath.row对等所以也可以直接获取指定的行;

    由于国家城市没用联系人的模型,后来加的所已就创建个数组直接保存了,当然也可以存为字典,indexPath.row记录哪一行的国家

    if (_selectedPersons.count > indexPath.row) {

                    AddressPerson *person = _selectedPersons[indexPath.row];

                    person.name = name;

                    person.phone = phone;

                    [_selectedPersons setObject:person atIndexedSubscript:indexPath.row];

    进来这个里就是从手机通讯录中选取的联系人,模型的row与cell的row是对应的,直接用界面cell修改模型存取的cell即可,注意:这里修改的姓名、电话会同时修改通讯录的选取的姓名。setObject直接替换之前存储的模型即可,else则是用户自定义的直接添加进数组即可。

    name.length > 0 || phone.length > 0做这样的一个判断是减少遍历进入次数,存储方式用了归档和UserDefaults

    相关文章

      网友评论

          本文标题:获取TableView界面所有cell

          本文链接:https://www.haomeiwen.com/subject/keiquttx.html