在iOS应用程序中实现文件夹的最佳方法是什么?

时间:2011-05-20 18:57:23

标签: objective-c

我想在此iOS应用中拥有对象的文件夹(虚拟)。此外,我希望用户能够创建自己的文件夹。我正在考虑制作一个NSMutableArray,它包含带有唯一键的字典和文件夹名称的NSString对象。对象将有一个指向字典键的变量。这样,可以更改文件夹名称,而不会影响文件夹的内容。我想到了很多方法来实现它。

在我的情况下,有哪些最佳做法?

2 个答案:

答案 0 :(得分:1)

我会选择这个基类的简单树结构:

@interface Folder 
{
    NSString *folderName;
    NSArray *contents;
}

@property (nonatomic, copy) NSString *folderName;
@property (nonatomic, retain) NSArray *contents;

- (id)initWithName:(NSString *)aName;

// Adds a folder to this folder and returns a reference to it or nil if name is already present
- (Folder *)addFolderWithName:(NSString *)aFolderName;

// Add something, returns false if operation was unsuccessful, for example adding a folder with
// a name that has already been used in this folder 
- (BOOL)addContent:(id)someContent;

@end

内容可以是任何类型,无论您需要什么。您需要的方法取决于您希望如何使用树。当谈到树木时,有很多可能:)

答案 1 :(得分:0)

使用核心数据并将文件夹元数据与文件名相关联。你必须做很多防御性编码,但如果你使用核心数据,你可以拥有任意元数据,良好的性能等。