获取TableView界面所有cell

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容