在ios开发中标记

时间:2013-09-30 11:45:08

标签: ios objective-c core-data tags tagging

我是iOS开发的绝对新手,所以请原谅我,如果这看起来像这么简单的问题。

我想构建一个项目 - 几乎就像一个笔记应用程序 - 用户可以在其中将标签与其输入相关联。我相信很多人之前已经看过它们了 - 它用在像hashtags这样的东西上,或者给出一个iOS应用程序的例子 - 像DayOne这样的Journalling应用程序拥有它。它基本上用于生成标签,以便轻松检索特定文章。

我的问题是 - 你如何创建这些类型的标签?特别是 - 如何实现可以为应用中的文章生成自定义标签的标记系统?

它是内置于Cocoa / SDK中的内容还是我必须查看更复杂的内容,如Core Data(NSPredicates)以了解如何创建类似的内容?

OR是否需要以编程方式完成而不是SDK中的内置系统?

感谢。

2 个答案:

答案 0 :(得分:0)

您需要使用Core Data或SQLite3。就个人而言,我会使用SQLite,但这取决于偏好。我已经使用过两者,但如果您有任何SQL知识,那么我就不会使用Core Data。使用CoreData创建了一个应用程序并使用了大量NSPredicates后,我发现该应用程序有很多随时间推移出现的错误。 我把它改为使用SQLite,现在运行得很好。

由于您是iOS新手,我建议您查看Ray Wenderlich的教程。我从那里学到了很多东西。

http://www.raywenderlich.com/913/sqlite-tutorial-for-ios-making-our-app

答案 1 :(得分:0)

以超简单的形式(即,您可以通过多种方式构建它以使其可扩展):

  1. 如果每个音符都是文本,请创建一个包含文本和标签属性的对象
  2. 将tags属性设为字符串数组
  3. 最初将备注存储在一个数组中(存档以保存到磁盘,或只是使用未保存的版本练习)
  4. 让用户输入标签(自动标记是一个有趣的主题......)
  5. 考虑使用token field(谷歌第三方实施)进行标记输入
  6. 现在,当用户开始搜索标记内容时,迭代您拥有的每个笔记并在标记数组上运行谓词。这可以使用NSPredicate完成,或者您可以确保所有标记都以小写形式保存,并且首先需要完全匹配 - 因此您可以使用'[tagArray containsObject:userEnteredTag];`

    然后:

    1. 查看真实谓词
    2. 查看核心数据(如果您喜欢,请查看SQLite)