《iOS高级应用开发技术》实验报告八详细答案.doc_第1页
《iOS高级应用开发技术》实验报告八详细答案.doc_第2页
《iOS高级应用开发技术》实验报告八详细答案.doc_第3页
《iOS高级应用开发技术》实验报告八详细答案.doc_第4页
《iOS高级应用开发技术》实验报告八详细答案.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验编号:8四川师大IOS应用开发技术实验报告2017年11月15日计算机科学学院2015 级 实验名称: 表视图 指导老师:_李贵洋_ 实验成绩:_实验 八 表视图一 实验目的及要求掌握表视图TableView以及Datasource、Delegate等的使用;二 实验内容(1) 实现一个人名数组的简单管理(2) 用TableView进行显示,在同一个界面上实现一个TableView的增删改;(1) 将数据保存到文件中;三 实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页)l 代码:ViewController.swift:/ViewController.swift/homework8/Createdbywuon2017/11/13./Copyright2017年2015110445.Allrightsreserved.importUIKitclassViewController:UIViewController,UITableViewDelegate,UITableViewDataSourcevarstudents=Student()varteachers=Teacher()vartableTitle=Teacher,Student/定义一个表视图vartable:UITableView!/右边按钮varrightItem:UIBarButtonItem!/弹出框varalert:UIAlertController!overridefuncviewDidLoad()super.viewDidLoad()/生成3个Teacher对象foriin1.3lettemp=Teacher(title:tt,firstName:liguiyang,lastName:(i),age:41,gender:.female,department:.one)teachers.append(temp)/生成4个Student对象foriin1.5lettemp=Student(stuNo:201511044+i,firstName:wu,lastName:mingming(i),age:17,gender:.male,department:.two)students.append(temp)/按全名排序teachers.sortreturn$0.fullName$1.fullNamestudents.sortreturn$0.fullNameIntifsection=0returnteachers.countelsereturnstudents.countfunctableView(_tableView:UITableView,cellForRowAtindexPath:IndexPath)-UITableViewCellletidentifier=tableTitleindexPath.sectionvarcell=tableView.dequeueReusableCell(withIdentifier:identifier)ifcell=nilletstyle:UITableViewCellStyle=(identifier=Teacher)?.subtitle:.defaultcell=UITableViewCell(style:style,reuseIdentifier:identifier)cell?.accessoryType=.disclosureIndicatorswitchidentifiercaseTeacher:cell?.textLabel?.text=teachersindexPath.row.fullNamecell?.detailTextLabel?.text=teachersindexPath.row.titlecaseStudent:cell?.textLabel?.text=studentsindexPath.row.fullNamedefault:breakreturncell!funcnumberOfSections(intableView:UITableView)-IntreturntableTitle.countfunctableView(_tableView:UITableView,titleForHeaderInSectionsection:Int)-String?returntableTitlesectionoverridefuncdidReceiveMemoryWarning()super.didReceiveMemoryWarning()/Disposeofanyresourcesthatcanberecreated.Person.swift:/Person.swift/homework8/Createdbywuon2017/11/13./Copyright2017年2015110445.Allrightsreserved./importFoundation/性别的枚举enumGender:Intcasemale/男性casefemale/女性caseunknow/未知/重载操作符,方便后面排序使用staticfunc(lhs:Gender,rhs:Gender)-Boolreturnlhs.rawValueBoolreturnlhs.fullName=rhs.fullName&lhs.age=rhs.age&lhs.gender=rhs.gender/重载!=staticfunc!=(lhs:Person,rhs:Person)-Boolreturn!(lhs=rhs)/实现CustomStringConvertible协议中的计算属性,可以使用print直接输出对象内容vardescription:StringreturnfullName:(self.fullName),age:(self.age),gender:(self.gender)/输出PersonXXXisrunningfuncrun()print(Person(self.fullName)isrunning)/教师类classTeacher:Person,SchoolProtocolvartitle:String/标题vardepartment:Department/公寓/构造方法init(title:String,firstName:String,lastName:String,age:Int,gender:Gender,department:Department)self.title=titleself.department=departmentsuper.init(firstName:firstName,lastName:lastName,age:age,gender:gender)init(title:String,department:Department)self.title=titleself.department=departmentsuper.init(firstName:,lastName:,age:0,gender:.unknow)conveniencerequiredinit()self.init(title:,department:Department.one)/重写父类的计算属性overridevardescription:Stringreturntitle:(self.title),fullName:(self.fullName),age:(self.age),gender:(self.gender),department:(self.department)/重载父类run方法overridefuncrun()print(Teacher(self.fullName)isrunning)/遵循协议的方法funclendBook()print(Teacher(self.fullName)lendabook)/学生类classStudent:Person,SchoolProtocolvarstuNo:Int/学号vardepartment:Department/公寓/构造方法init(stuNo:Int,firstName:String,lastName:String,age:Int,gender:Gender,department:Department)self.stuNo=stuNoself.department=departmentsuper.init(firstName:firstName,lastName:lastName,age:age,gender:gender)convenienceinit(stuNo:Int,firstName:String,lastName:String,age:Int,gender:Gender)self.init(stuNo:stuNo,firstName:firstName,lastName:lastName,age:age,gender:gender,department:.one)init(stuNo:Int,department:Department)self.stuNo=stuNoself.department=departmentsuper.init(firstName:,lastName:,age:0,gender:Gender.unknow)requiredconvenienceinit()self.init(stuNo:0,department:.one)/重写父类的计算属性overridevardescription:StringreturnstuNo:(self.stuNo),fullName:(self.fullName),age:(self.age),gender:(self.gender),department:(self.department)/重载父类run方法overridefuncrun()print(Student(self.fullName)isrunning)/遵循协议的方法funclendBook()print(Teacher(self.fullName)lendabook)AppDelegate.swift:/添加这一句:self.window?.rootViewController = UINavigationController(rootViewController: ViewController()l 运行结果: 四 实验结果的分析与评价(该部分如不够填写,请另加附页)答:(1)通过本次实验报告,了解了,iOS是遵循MVC模式设计的,很多操作都是通过代理和外界沟通的,但对于数据源控件除了代理还有一个数据源属性,通过它和外界进行数据交

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论