热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

swift中的uitable

下面是一个静态的tableview于图可知有两个section头是11..和22..,其中222是一个tableviewcell!并且从图可知道样式是leftD

下面是一个静态的table view

 于图可知有两个section头是11..和22..,其中222...是一个table view cell !并且从图可知道样式是left Detail,Accessory(选的是Discloure Indicator)这两个分别图中的Title detail 和 右边的>

下面是一个动态的table view

 

写一个viewcontroll视图控制器

import UIKitclass viewcontroll :UITableViewController{var person:[Person]!override func viewDidLoad() {super.viewDidLoad()person = PersonImpl().generatePerson()}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()}//返回行数override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {return person.count}// 给每行赋值override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell
= tableView.dequeueReusableCellWithIdentifier("demo")!let p = person[indexPath.row]let nameLabel = cell.viewWithTag(1) as! UILabelnameLabel.text = p.namelet ageLabel = cell.viewWithTag(2) as! UILabelageLabel.text = "\(p.age)"return cell}
}

而赋值有3种方法

//第一种:直接自己创建cell// let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cellDemo")
// cell.textLabel?.text = "aaa"
// return cell//第二种:演示IndexPath参数的使用
// let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
// if indexPath.row == 0 {
// //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
// cell.textLabel?.text = "aaa"
// //return cell
// }else if indexPath.row == 1 {
// //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
// cell.textLabel?.text = "bbbb"
// //return cell
// } else if indexPath.row == 2 {
// //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
// cell.textLabel?.text = "ccc"
// // return cell
// }
// return cell//第三种:let cell = tableView.dequeueReusableCellWithIdentifier("cellDemo")cell?.textLabel?.text = "aaaa"return cell!

 

再写一个person类

import UIKit//模型类
class Person {var name: Stringvar age: Intinit(name: String,age: Int){self.name = nameself.age = age}}
// PersonBLL
class PersonImpl {func generatePerson() -> [Person] {//persondao. //persondal.()var result = [Person]()let p = Person(name: "david1", age: 11)result.append(p)let p2 = Person(name: "david2", age: 22)result.append(p2)let p3 = Person(name: "david3", age: 33)result.append(p3)return result}
}

 把表格行identifiter改为cell

转:https://www.cnblogs.com/kangniuniu/p/4998878.html



推荐阅读
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 在本文中,我们将为 HelloWorld 项目添加视图组件,以确保控制器返回的视图路径能够正确映射到指定页面。这一步骤将为后续的测试和开发奠定基础。首先,我们将介绍如何配置视图解析器,以便 SpringMVC 能够识别并渲染相应的视图文件。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 在iOS设备上实现闪光灯的开关控制功能,可以通过编写自定义的ViewController代码来实现。本文介绍了具体的实现方法,并提供了详细的代码示例,帮助开发者轻松掌握这一功能的开发技巧。 ... [详细]
  • 资源管理器的基础架构包括三个核心组件:1)资源池,用于将CPU和内存等资源分配给不同的容器;2)负载组,负责承载任务并将其分配到相应的资源池;3)分类函数,用于将不同的会话映射到合适的负载组。该系统提供了两种主要的资源管理策略。 ... [详细]
  • 本文探讨了在Python中使用序列号字符串进行高效模式替换的方法。具体而言,通过将HTML标签中的`&`替换为`{n}`,并生成形如`[tag, {n}]`的哈希原始字符串。示例字符串为:“这是一个字符串。这是另一部分。”该方法能够有效提升替换操作的性能和可读性。 ... [详细]
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 本文深入探讨了在Spring Boot中处理RESTful风格的表单请求的方法,包括请求参数处理、请求映射以及RESTful设计原则的应用。文章详细介绍了如何利用HTTP动词(如GET、POST、PUT、DELETE)来操作资源,并结合Spring Boot的注解(如@GetMapping、@PostMapping等)实现高效、清晰的请求处理逻辑。通过实例分析,展示了如何在实际项目中应用这些技术,提高开发效率和代码可维护性。 ... [详细]
  • 如何使用 com.jme3.input.FlyByCamera 构造函数及其代码示例详解 ... [详细]
  • 在近期的项目开发过程中,ORM层采用了MyBatis,并且需要连接多个数据库,这带来了多数据源配置的挑战。为了解决这一问题,我们可以通过巧妙运用注解来实现优雅的数据源切换,确保系统的灵活性和可维护性。这种方法不仅简化了配置,还提高了代码的可读性和扩展性。 ... [详细]
  • 题目链接:POJ 2777。问题描述:给定一个区域,需要进行多次涂色操作,并在每次操作后查询某个区间内的不同颜色数量。解决方案:由于题目中颜色种类不超过30种,可以利用线段树的懒惰更新策略来高效处理这些操作。通过懒惰标记,避免了不必要的节点更新,从而显著提高了算法的效率。此外,该方法还能有效应对大规模数据输入,确保在合理的时间内完成所有操作。 ... [详细]
author-avatar
游太虚傲寰宇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有