Skip to content

altair007/AddressBookUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

模拟器:iphone retina(4-inch 64-bite).

班级通讯录 需求: 1、window的根视图控制器展示通讯录列表,每行展示头像和姓名和手机号(†) 2、点击某个联系人,可以展示详情页面,详情页面展示联系人的详细信息,包括:头像、姓名、性别、年龄、电话。(†) 3、联系人根据姓名拼音的首字母分组。(†)

最新作业需求: 1、通讯录页面分组展示所有联系人,每行cell展示联系人头像、联系人姓名、联系人电话号码(†) 2、通讯录列表中的数据可以删除,通过侧滑cell实现删除(†) 3、通讯录列表页面的导航栏设置,title:通讯录,右侧按钮:+,点击导航栏右侧按钮,push推出“添加联系人”页面(†) 4、点击通讯录列表页面中的cell,push推出“联系人详情页面”(†) 5、添加联系人页面导航栏右侧设置“完成”按钮,点击“完成”按钮,保存新联系人信息,并返回通讯录列表页面。直接点击返回按钮,不保存联系人信息,直接返回通讯录列表页面。(†) 6、添加联系人页面:点击imageView,从系统相册中获取图片,设置为联系人头像。相关类:UIImagePickerController(†) 7、添加联系人页面:输入年龄和联系方式的textField使用数字键盘(†)

附加需求(DIY): 模型类:

  • 可以从一个文件初始化数据(†)
  • 提供把数据写入数据源文件的方法(†)

优化方向:

  • 单独的数据源,应用于导航栏控制器.(†)
  • 查看详情页面,提供"编辑功能" + 合并"详细信息页和添加联系人页" 为"编辑页".(†)
  • 点击"return" 键盘消失!(†)
  • 编辑练习人信息时,如果页面正处于编辑状态,则弹窗提示是否确定离开!(†)
  • 编辑页,右按钮在"保存"和"编辑"间切换!(†)
  • 设置app应用图标.(†)
  • 删除联系人时,出现弹出框提示.(†)
  • 使用KVO机制(†)

作业需求: *、UITableView使用两种cell分别展示男和女(†) *、每行cell上展示头像、姓名、联系方式、介绍。cell需要自适应高度。(†)

  • 重要更新:监听person!而不是监听数据源!(†)
  • 设置分区索引(†)

优化方向:

  • 可以使用NSObject作为单例, 充当主控制器(†)

  • 未作任何变更时,则不保存,提示,没有任何变化!(†)

  • 联系人姓名和电话不能为空!(†)

  • 编辑页面,先验证手机号,是否为数字!(†)

  • 年龄如果存在,必须为数字.(†)

  • 使用通知机制回收键盘!

  • 适配ipad,使用比例宏,代替常数宏!

  • 保证在六十四位还是32位都不会出现警告!(宏编译)

通讯录作业: 1、在通讯录综合练习的基础上完成作业需求,使用数据库实现数据持久化。 2、不提供数据源的plist文件,通讯录默认是空得 3、详情页面的导航栏右侧添加编辑按钮,实现编辑联系人功能。 点击按钮,切换title:编辑/完成 4、数据库文件存储在documents中 5、在caches文件夹中,创建一个文件夹pictures,专门存储所有联系人头像

About

通讯录(UI版)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published