2013-05-14 46 views
0

我想创建文件夹结构逻辑像windows.I我正在使用SQlite数据库。我想每次都生成一个唯一的名称。对于例如如果用户输入名称为“New”的文本。如果他再次输入相同的名称“新”,那么它应该是新的(1)。如果他再次输入相同的名称“新”,那么它应该是“新(2)”。如果用户删除“New(1)”项并输入“New”,则“New(1)”应置于“New”和“New(2)”之间。每次生成独特的名称像“Windows文件夹结构”行为

任何人都可以为此提出逻辑?任何帮助表示赞赏? 在此先感谢 Tejas

+0

你将在数据库中存储文件夹名称否? – Durgaprasad 2013-05-14 12:03:41

+0

Aaaahaa!我懂了! – Hemang 2013-05-14 12:06:02

回答

0

我认为你将有一个ID和数据库名称作为字段的数据库。您只需要从数据库中检索所有记录。在哪里查询使用like运算符。一旦你得到一个循环列表并添加新的条目比较号码。尝试这个。

0

这里是我用来做一个应用程序类似的逻辑:

  1. 声明一个名为NSStringprefix称为numberNSInteger
  2. 检查,如果你的名字有它的结束一个数字:
    • 如果确实如此,设置number该号码的价值和prefix的名称,而不数量。
    • 如果不是,请将number设置为1和prefix作为名称。从1
  3. 循环直到某个最大数目,执行以下操作:
    1. 构建从基部和数量proposedName
      • 如果number是1,使用裸prefix
      • 否则,按照您要生成的格式连接prefixnumber
    2. 检查proposedName已在使用。*
      • 如果是在使用中,再次增加number和循环。
      • 如果未使用,proposedName是您的新名称。

假设你正在使用SQLite数据库,你也许可以加快这一点通过与您的前缀开头并装入一个NSMutableSet预取的名字。这比对每个单独的名称执行查询要快。

*当你做这个测试时,你可能应该排除你正在查看的对象。这将允许您尝试“uniquify”现有对象的名称,而不实际更改它。

相关问题