管理UITableViews的数据

时间:2009-08-28 21:24:08

标签: objective-c iphone

我的应用程序中有两个非常简单,相同的UITableViews,其中填充了名为“thumb1.jpg”,“thumb2.jpg”等的缩略图。这些缩略图具有关联的原始图像“1.jpg”和文本文件“ 1.txt“用于图像处理。一切都存储在应用程序的Documents文件夹中。

我想保留这些文件的编号,有序命名,因为它使用cellForRowAtIndexPath非常容易地在UITableViews中显示缩略图。我目前正在使用NSMutableArray(索引:1对象:“thumb1.jpg”等)来跟踪应用程序中的所有图像。

问题是用户可以添加/删除图像,因此维护订单非常重要。为了处理添加/删除我正在使用NSMutableArray上的insertObjectAtIndex和removeObjectAtIndex,它将维护顺序,但是当发生这种情况时需要以编程方式更改图像和文本文件名。例如,如果阵列中有五个图像“0.jpg”,“1.jpg”,“2.jpg”,“3.jpg”,“4.jpg”,则用户删除第二个图像(“1 .jpg“)数组现在在索引1处有”2.jpg“,因此文件名必须更改为”1.jpg“,”1.txt“和”thumb1.jpg“。

这种方法听起来如何?我是Objective-C的新手,所以如果你有其他功能,我会有兴趣听听你的意见。

1 个答案:

答案 0 :(得分:1)

重命名实际的图像文件并不是一个好主意。

我将实现2个NSMutableArrays,一个用于保存图像的标题/描述,另一个用于保存文件名(或者,如果需要,则代替实际的UIImage)。然后,如果您需要删除索引2处的项目,则从两个数组中删除相同的对象将使它们保持同步。

如果你开始想要为每一行存储越来越多的东西,我建议你实现自己的类。然后,您可以实现该类的多个实例的数组,并且每个类都具有图像,文本,缩略图等属性。事实上,因为您已经命名了三个单独的属性(主图像,文本和缩略图),我我很想说你应该马上实施一个自定义课程。

让我知道这是否有意义,或者您是否想要一些代码来进一步说明它。