iOS:使用UITableView 创建表格应用演练(2) 从plist文件加载并显示数据

上文中介绍了一个非常简单的表格加载和显示的演练。有的朋友可能会说,这也说的忒简单了,能不能来点复杂的?

别着急,做为程序员,要记住:无论多么复杂的应用都是由简单的应用演化而成的。

本文目标

本文以上一篇为基础,对应用进行扩展,介绍以下内容:

1. 数据结构定义;

2. 从plist文件加载并显示数据;

3. 在表格中显示头像并调整表格样式;

4. 使用数据模型。

一. 数据结构定义

在上一篇演练中,使用NSArray定义了一个数组提供表格内容,但是在实际应用中,这种功能远远不能满足实际使用需求。

前文中,我们提到要做一个维护“微博关注人”的应用。那么对于关注人,一个名字显然不能满足我们应用的需求。

在开始之前,我们不妨先花点时间,确定一下除了姓名之外,我们还对哪些信息感兴趣,从而确定一下数据结构。见下图:

我们给关注对象增加五个属性:姓名、头像、网址、喜好程度和类别。

下面我们来增加一个plist文件记录我们后面需要使用的数据。

1. 在“My Focus”上点鼠标右键,在弹出菜单中选择“New Group”,然后输入“Data”做为新建群组的名称,见下图:

2. 在“Data”上点鼠标右键,选择“New File...”,然后选择“Resource”“Property List”,然后点击“Next”按钮,见下图:

时间: 2024-11-02 12:10:29

iOS:使用UITableView 创建表格应用演练(2) 从plist文件加载并显示数据的相关文章

iOS开发:使用 UITableView 创建表格应用演练(1) 一个简单的表格应用

在很多iOS应用中都有UITableView控件的身影.让我们的系列教程也从UITableView开始吧. 目标 任何一个伟大的iOS应用都源自一个伟大的构想.虽然我们只是再做演练,但演练也同样需要一个伟大的构 想!这样我们会产生更加浓烈的兴趣,目标更加明确,同时不会纠结于具体的细节之中. 提示:细节是在不断重复中逐渐掌握的,过早的进入细节很容易让人迷失方向. 现在用微博的人越来越多,假设我们需要一个管理"微博关注人"的列表这么一个应用,能够 帮助我维护微博关注人的信息.怎么样?对于一

iOS:使用 UITableView 创建表格应用演练(3) 使用区段分类显示表格数据

上文完成后,"微博关注人"这个应用虽然距离最终的完成还有不小的距离,但从视觉上已经比演练(1)完 成时有了不小的改进.:] 细心的朋友们在上次演练中已经发现,我们定义的数据结构中,有一个名为"类别"的字段, 这个字段的设置主要用于帮助我们更好地管理我们的关注对象.本文演练仅仅涉及一个问题,就是如何按照 "类别"在表格中分区段显示数据.本此演练之后,相信您会对iOS中的数组(NSMutableArray)和 plist文件的使用也会有一个新的理解.

iOS:使用UITableView创建表格应用演练(4) 自定义单元格

今天给大家介绍一下如何在表格应用中使用自定义单元格以及选中单元格的一个简单操作. 本文目标 本文以上一篇为基础,对应用进行扩展,介绍以下内容: 在表格应用中自定义单元格布局显示: 选中某一单元格,并在Safari中打开用户链接地址: 一. 自定义单元格演练 首先我们回顾一下前文,在演练(2)中,我们定义数据结构时,定义了一个名为:Favorite的属性,用于表 示我们对该微博账户的喜好程度.本节演练中,我们就通过自定义单元格的方式,在表格中以五角星的形式显 示喜好程度,本节演练结束后,您将看到以

singtop-安卓的栈顶模式,创建活动后就位于栈顶,加载新的活动后再加载第一个创建的不显示位于栈顶。

问题描述 安卓的栈顶模式,创建活动后就位于栈顶,加载新的活动后再加载第一个创建的不显示位于栈顶. 首先创建两个活动,FirstActivity和secondActivity, 创建两个布局first_layout和second_layout 两个布局中都添加button按钮 在FirstActivity写一个意图指向SecondActivity 证明每个活动都有Log.d 在一般的情况下 在快速点击的时候出现了下面的情况 singleTop是位于栈顶就不会创建,理论上我的点击,怎么不会显示第一个

图片-动态创建的div中mouseover事件中的div加载出的数据总是最有一条 求解答

问题描述 动态创建的div中mouseover事件中的div加载出的数据总是最有一条 求解答 我用的是json 一共30条数据 在动态创建的的div上用mouseover事件动态创建30个小的div(dvBeauty2)用来显示加载出的div的信息( jsonLegends.LegendName) 怎么30个都是显示的最后一条数据 求解答!!! function LoadUlData(jsonArray) { for (var value = 0; value < jsonArray.lengt

android开发-android 创建同一个布局的多个fragment,加载listview数据不显示或者错乱

问题描述 android 创建同一个布局的多个fragment,加载listview数据不显示或者错乱 如题,我现在就是想做一个仿淘宝的淘抢购那样的功能,我用的是fragment, 因为不确定有多少个页面,所以我根据时间段来创建fragment, fragment里面只有一个listview 布局,首次进去的时候有数据却不显示,而且还加载了上一个页面和一下个页面, 滑动的时候,有时候不显示数据或者数据错乱了. 点击时间段来选中相应的fragment,数据又不显示出来. 这个应该怎么解决啊?

ios的文件加载和保存

  1.使用属性列表保存对象: 在Cocoa中,与一类名为属性列表的对象,常简称为plist.这些列表包含Cocoa知道如何操作的一组对象.具体来讲,Cocoa知道如何将它们保存到文件中并进行加载.属性列表类包括:NSArray,NSDictionary,NSString和NSData,以及它们的变体(Mutable)   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];   NSArray *array = [NSArray

怎样用表格控件根据数据库中表的具体结构自动显示数据?

问题描述 在java中,为将数据库的记录显示在表格中,一般都要预先知道表的结构,定义一个相应的表述类,然后才能显示.例如JFACE的tableViewer控件就是这样.请问如何根据数据库中不同的表的具体结构自动显示数据呢?即同一个控件适应不同的数据表格式,换句话说就是表格列可自动增减.反正数据库管理工具都具备这个能力. 解决方案 本帖最后由 my_xh 于 2009-08-10 15:38:19 编辑

JavaScript动态创建link标签到head里(延时加载)

使用 jQuery 创建 link 标签 如果你开发中喜欢用jQuery,那么用jQuery在创建link标签应该是这样的:  代码如下 复制代码 var cssURL = '/style.css',     linkTag = $('<link href="' + cssURL + '" rel="stylesheet" type="text/css" media="' + (media || "all")