带有对象数组的 UITableView

Posted

技术标签:

【中文标题】带有对象数组的 UITableView【英文标题】:UITableView with an array of objects 【发布时间】:2014-03-15 18:06:28 【问题描述】:

我正在开发一个 ios 应用程序,我有一个对象数组,每个对象都有一个名称、id、amd 描述。我想在表格视图单元格中显示名称并在详细视图控制器中显示描述。 我知道有很多教程不适用于我认为的情况。 视图控制器或者类模型或者数组类模型应该在哪个类中实现数组。

【问题讨论】:

为什么教程不起作用?你做了什么证明了这一点? @wain 他们工作但不是在我的项目中,对象数组是在 appdelgate 中初始化的,我不希望它在那里。我想知道它应该在哪个类中初始化? 您是否尝试将该代码移至您的视图控制器?您需要详细说明数据的来源和用途,以便任何人说出您应该如何存储它... 如果您是 iOS 和 Objective-C 的新手,那么我强烈建议您学习 iTunesU 上的斯坦福 iOS 课程 - 最新的是“为 iPhone 和 iPad 开发 iOS 7 应用程序”。视频和示例代码将让您轻松解决此类问题(以及更多!)。同时,我建议将您的数据放在模型中,并通过表视图委托中的 API 访问它;这将允许您将存储更改为 CoreData 或其他内容,而无需触摸您的控制器或查看代码。 【参考方案1】:

也许你可以开始在你的 tableViewController viewDidLoad 中硬初始化你的对象数组。

#import "TableViewController.h"

@interface TableViewController ()
@property (strong, nonatomic) NSMutableArray *myData;
@end

@implementation TableViewController
- (void)viewDidLoad

    [super viewDidLoad];

    self.myData = [[NSMutableArray alloc]init];

    YourObectClass *myObject;

    for (int i = 0; i < 20; i++) 
      myObject = [[YourObectClass alloc] init];
      myObject.name = [NSString stringWithFormat:@"Object:%d",i];
      [self.myData addObject:myObject];
    ]

  //here you are... now use self.myData as your data source...


....

@end

【讨论】:

以上是关于带有对象数组的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

对象数组中的 UITableView 部分

如何从 UITableView 获取行索引,其中数组列表由追加到类

如何在 UITableView 中显示数组中的 x 个对象,然后在向下滚动时显示更多?

如何将带有数组的对象转换为数组

UITableView 排序部分

使用扩展运算符克隆带有数组的对象