一、 本周任务
- 完成了简单的学生信息管理系统,实现了增删查改、正反向排序功能
- 学习了通知传值、KVO传值、Block传值、懒加载、属性关键字等新内容
实现成果:
博客:
[iOS]-通知传值
[iOS]-Block传值
[iOS]-KVO基础
[iOS]-懒加载
属性关键字和深浅拷贝
二、遇到的问题
开始在写学生信息管理系统的时候由于思考的时候缺乏逻辑性,会导致系统中不能添加相同名字的学生信息,然后查询功能中如果系统中有多个相同名字的同学,也只能查询到第一个同学的信息
解决方法:
注: 对于学生信息管理系统,我保存和所传递的信息是一个大数组,大数组中的每一个元素都是一个小数组,小数组中的三个元素分别为某一个同学的姓名、班级、成绩
对于不能添加重名信息,解决方法:
先判段所输入要添加的同学的名字是否与已有信息(即当前数组中的信息)有相同的,如果没有相同的信息,就直接将该同学信息添加到当前数组的后面,如果有相同的信息,则判断班级信息是否仍然相同,如果相同则提示该同学信息已存在,如果不相同则将其信息添加到当前数组后面,最后添加信息成功后返回原界面刷新tableView就可以看到新同学的信息添加成功了
对于查询同名信息只显示第一个同学信息的解决方法:
定义一个空的可变数组,然后在查询的时候遍历当前数组(即当前信息)如果发现数组中的姓名信息有和当前textField中用户所输入的信息相同的,就将当前数组中的这个姓名信息相同的元素(即存放某同学信息的小数组)作为新元素添加到新定义的可变数组的后面,遍历结束后,如果新数组中没有元素,就提醒用户该同学信息不存在,如果新数组中存在元素,则将新数组传值到下一界面中,让下一界面中的tableView依据传过来的新数组中的信息创建tableView,将所有同名的同学的信息全部显示在屏幕上。