在 iOS 中创建多维数组

Posted

技术标签:

【中文标题】在 iOS 中创建多维数组【英文标题】:Creating multidimensional arrays in iOS 【发布时间】:2013-01-01 00:58:21 【问题描述】:

所以我是 ios 开发的新手,我真的只依赖故事板和 youtube 教程来开发 iPhone 应用程序。 (我使用 Xcode)

但是对于这个项目,我需要创建一个名称列表(大约 200 个)。当一个名字被点击时,会出现一条记录(显示出生日期、身高、国籍,甚至可能是个人资料照片)。我认为它被称为记录数组。

我还想知道是否应该为这个特定项目使用storyboardsxibs。我不想为每个人创建 200 个不同的视图控制器,这就是我尝试实现数组的原因。

谁能给我一个代码起点和我应该继续的基础知识,因为我不知道我应该从哪里开始。

【问题讨论】:

您之前是否将 UITableView 连接到数据源? 不,我实际上只是手动将数据输入到单元格中(以图形方式)。我从未在 UITable 视图中使用过代码 这个和Xcode无关,iOS开发不需要Xcode。 对不起,我忘了说 没关系,H2CO3 已经编辑/重新标记了您的问题,以免听起来像 xcode 问题。 【参考方案1】:

一个普遍的问题 - 所以一个普遍的答案。

查看 Apple 教程 - Your Second iOS App。

这是编写具有主视图和详细视图的数据驱动表视图应用程序的良好起点。

您可能希望使用不同的数据模型,但至少这应该可以帮助您入门。

【讨论】:

嘿,这些教程很好,我在哪里可以找到第三个ios应用教程和其他 有谁知道我在哪里可以找到更多这样的教程?【参考方案2】:

作为一般方法,要创建二维或更大维数组,您可以创建一个 NSArray 的实例,该实例包含对其他 NSArray 实例的引用。

一个简单的一维数组(您的示例真正需要的)只是对象引用的NSArray

要更具体地回答,您不需要 200 个视图控制器,但需要一个视图控制器来显示 People 的表视图(NSArrayPerson 实例) - 我们称之为 PeopleViewController - 和一个视图控制器显示一个具有一个人属性的表格视图(Person 实例)——我们称之为PersonViewController

PeopleViewController 可能是导航堆栈的“根”,它会显示一个表格视图,其中包含数据集中所有人员的列表。

当您从PeopleViewController 表视图中显示的列表中选择个人时,PersonViewController 会被推送到导航堆栈中。

如果您在People 数组中有Person 实例的索引,那么您只需将索引和People 引用传递给PersonViewController。然后,此视图控制器将访问 Person 实例在 People 的索引处的属性,并将它们倒入详细信息表视图中。

【讨论】:

【参考方案3】:

听起来您想显示一个单元格表格。 UITableView 通常用于完成此操作。网上有很多tutorials讨论这个话题。

使用 UITableView 时,您将为表格中的每个单元格提供配置视图。根据您要显示的内容的描述,您可能需要使用视图控制器制作custom view 以用作单元格,而不是使用默认的 UITableViewCell。

在您的代码中,您需要通过其delegate 和data source 向 UITableView 提供数据。看看NSMutableArray,它可能是您想要用来存储行数据的对象数组的东西。此外,每个单元格的数据应存储在其自己的类中,以便在配置单元格视图时轻松访问其属性。

【讨论】:

【参考方案4】:

除了上面提到的Apple“你的第二个iOS应用”,你可能喜欢iTunes U上的免费iOS课程,我只看过this one from Stanford,看看课程列表,绝对值得。然而,这是去年的课程,今年,我们不再需要为属性执行@synthesize。 iTunesU 上还有其他 ios 课程可能涉及 ios 开发的不同方面。然后还有来自 WWDC 的Apple Developer videos。

【讨论】:

以上是关于在 iOS 中创建多维数组的主要内容,如果未能解决你的问题,请参考以下文章

在 Powershell 中创建多维哈希表数组

如何在 Collection anylogic 中创建多维数组?

无法在 codeigniter 中创建多维数组

在jquery中创建一个多维数组

如何在 Laravel/PHP 中创建多维数组

如何在html表中创建多维数组