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

Objective c 在iOS应用程序中实现文件夹的最佳方式是什么?,objective-c,Objective C,我想在此iOS应用程序中为对象创建文件夹(虚拟)。此外,我希望用户能够创建自己的文件夹。我正在考虑制作一个NSMutableArray,其中包含具有唯一键的字典和文件夹名称的NSString对象。对象将有一个指向字典键的变量。这样,可以更改文件夹名称,而不会影响文件夹的内容。我想了很多方法来实现这一点 在我的情况下,有哪些最佳做法?使用核心数据并将文件夹元数据与文件名关联。您必须进行大量的防御性编码,但如果您使用核心数据,您可以拥有任意元数据、良好的性能等。我选择使用以下基类的简单树结构: @i

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


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

使用核心数据并将文件夹元数据与文件名关联。您必须进行大量的防御性编码,但如果您使用核心数据,您可以拥有任意元数据、良好的性能等。

我选择使用以下基类的简单树结构:

@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

内容可以是任何类型,无论您需要什么。您需要的方法取决于您喜欢如何使用树。说到树,有很多可能:)

这就是我要找的。很容易移动内容并使用table view section Plus,我不需要先学习任何新内容。非常感谢。