我想在此iOS应用中拥有对象的文件夹(虚拟)。此外,我希望用户能够创建自己的文件夹。我正在考虑制作一个NSMutableArray,它包含带有唯一键的字典和文件夹名称的NSString对象。对象将有一个指向字典键的变量。这样,可以更改文件夹名称,而不会影响文件夹的内容。我想到了很多方法来实现它。
在我的情况下,有哪些最佳做法?
答案 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)
使用核心数据并将文件夹元数据与文件名相关联。你必须做很多防御性编码,但如果你使用核心数据,你可以拥有任意元数据,良好的性能等。