【ios开发/Xcode】使用UITableView完成学生信息及成绩的显示

  • 设计思想
  • 实现效果
  • 源代码

设计思想

首先创建所有页面的故事版,包括,登录、注册与成绩页面


接着设置故事版的关联代码,如下图所示为用户名与密码UITextField的关联

再进行一些空间的格式类型等设置,如下图所示为TableViewCell单元格属性的设置

最后在增加增删改查的代码,完成设计

实现效果

注册账号:lct,密码:lct,登录系统

进入系统,看到学生成绩信息,进行编辑操作/删除操作/增加操作

源代码

注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联
登录界面

//登录界面
import  UIKitclass LoginViewController : UIViewController{   @IBOutlet weak var userId: UITextField!@IBOutlet weak var password: UITextField!override func viewDidLoad() {super.viewDidLoad()NotificationCenter.default.addObserver(self, selector: #selector(autoFillInfomation(_:)), name: Notification.Name(rawValue: "RegisterNotification"), object: nil)}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()NotificationCenter.default.removeObserver(self)}@objc func autoFillInfomation(_ notification: Notification)  {let userInfo = notification.userInfo!let userId1 = userInfo["userId"] as! Stringlet password1 = userInfo["password"] as! StringuserId.text = userId1password.text = password1// users[userId1] = password1}
}

注册界面

// 注册界面
import UIKit
class RegisterViewController : UIViewController{@IBOutlet weak var userId: UITextField!@IBOutlet weak var password: UITextField!override func viewDidLoad() {super.viewDidLoad()}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()}@IBAction func back(_ sender: Any) {self.dismiss(animated: true, completion: nil)}@IBAction func register(_ sender: Any) {self.dismiss(animated: true) { () -> Void inlet userInfo = ["userId" :self.userId.text!, "password": self.password.text!]NotificationCenter.default.post(name: Notification.Name(rawValue: "RegisterNotification"),object:nil,userInfo: userInfo)} }
}

定义数据字段

//定义数据字段
import UIKit
class Student:NSObject{var name:Stringvar score:Intinit(name:String,score:Int){self.name=nameself.score=scoresuper.init()}
}

定义增加、删除、移动等操作

//定义增加、删除、移动等操作
import UIKitclass StudentsInfo{var StudentsCollection=[Student]()init(){let nameOfStudents=["zhangyi","zhanger","zhangsan","zhangsi","zhangwu"]let scoreOfStudents=[99,98,97,99,98]for i in 0...(nameOfStudents.count-1){let theStudent=Student(name:nameOfStudents[i],score:scoreOfStudents[i])StudentsCollection.append(theStudent)}}func addStudent() -> Student {let theStudent = Student(name: "新同学",score:100)StudentsCollection.append(theStudent)return theStudent}func deleteStudent(_ theStudent:Student) {if let theIndex = StudentsCollection.index(of: theStudent){StudentsCollection.remove(at: theIndex)}}func transferPosition(sourceIndex: Int, destinationIndex: Int) {if sourceIndex != destinationIndex {let theStudent = StudentsCollection[sourceIndex]StudentsCollection.remove(at: sourceIndex)StudentsCollection.insert(theStudent, at: destinationIndex)}return}
}

【ios开发/Xcode】使用UITableView完成学生信息及成绩的显示相关推荐

  1. 【ios开发/Xcode】实现多功能备忘录

    [ios开发/Xcode]实现多功能备忘录 引言 具体功能及实现 登录界面主要源代码 注册界面主要源代码 注册界面主要源代码 增删改查主要源代码 音乐播放器界面源代码 计算器界面源代码 所有源码下载 ...

  2. 【ios开发/Xcode】实现登录注册

    [ios开发/Xcode]实现登录注册 实现效果 源代码 实现效果 首先进入初始界面,输入账号Linchuantao,密码Linchuantao,显示登录失败(如下左图),因此需要进行注册,点击左下角 ...

  3. 【ios开发/Xcode】实现关键字检索

    [ios开发/Xcode]实现关键字检索 实现效果 源代码 实现效果 源代码 注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联 import UIKitcl ...

  4. 【ios开发/Xcode】实现简易省会问答

    [ios开发/Xcode]实现省会问答 实现效果 源代码 实现效果 图1为初始界面,点击[显示答案]结果如图2所示显示答案为"福州",点击[下一个]如图3所示显示下一个省份,同样也 ...

  5. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇-UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) 1 #import <Foundation/Foundation.h&g ...

  6. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇-UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  7. 【ios开发Xcode】实现登录注册

    [ios开发/Xcode]实现登录注册 实现效果 源代码 实现效果 首先进入初始界面,输入账号Linchuantao,密码Linchuantao,显示登录失败(如下左图),因此需要进行注册,点击左下角 ...

  8. 查询选修“张三“老师所授课程的学生中,成绩最高的学生信息及其成绩

    #每天进步一点点# MySQL 查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩 1.以名字查出t_id SELECT t_id FROM teacher WHER ...

  9. 《MySQL数据操作与查询》- 维护学生信息、老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息

    综合项目需求 一.系统整体功能 系统需支持以下功能: 维护学生信息.老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息 学生 Student(id,班级id,学号,姓名,性别,电话,地址,出 ...

最新文章

  1. LDAPserver的安装
  2. 【PC工具】常用USB转串口芯片CH340G,驱动安装有可能遇到的问题及解决办法
  3. 一文聊透binlog、redo log、undo log
  4. 复利计算1.0,2.0,3.0,4.0,5.0
  5. linux收缩java位置,找到linux中当前java的安装位置
  6. Linux网络编程——黑马程序员笔记
  7. oracle pl/sql编程详解,OraclePL/SQL高级编程详解
  8. java jdk1.8 jvm_JDK1.8 JVM调优之初识JVM(一)
  9. C/C++中使用的正则表达式库
  10. 五款热门Android手机性能测试 Nexus S大胜
  11. 【java笔记】缓冲流
  12. SpringBoot接收数组参数
  13. android二级菜单ui,巧用PopupMenu实现NavigationView的二级子菜单
  14. 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
  15. 汇编语言aaa指令解析,aas指令解析
  16. matlab jacks信道,【学习笔记】移动无线信道理论
  17. APP - 腾讯微信上线“一证通查”功能,还没查的速度看看
  18. 安全加密 - HSM vs Trustzone vs SHE vs Evita ,
  19. 互联网办公地点搬迁(北上深杭)
  20. Error response from daemon: Get “https://xxx.xxx.com/xxx/“: unauthorized:

热门文章

  1. RxJava repeat,repeatWhen,repeatUntil 的区别
  2. Android 获取联网的IP地址
  3. Kotlin 类的定义
  4. mysql 日期和时间戳互换
  5. Java之Spring mvc详解(非原创)
  6. tp5.0 新增模块
  7. 【高精度】被限制的加法
  8. IT阅读——关于“业务”
  9. 一个“复制/删除”方式的滚动
  10. 《OpenCV3编程入门》学习笔记8 图像轮廓与图像分割修复(五)分水岭算法(watershed algorithm)