ios开发中的标记

ios开发中的标记,ios,objective-c,core-data,tags,tagging,Ios,Objective C,Core Data,Tags,Tagging,我现在是一个绝对的iOS开发新手,所以如果这个问题看起来很简单,请原谅我 我想建立一个项目——几乎像一个记笔记的应用程序——在这个项目中,用户将能够将标签与他们的输入关联起来。我相信很多人以前都见过它——它被用在诸如hashtags之类的东西上,或者举一个iOS应用程序的例子——像DayOne这样的日志应用程序都有它。它基本上用于生成标签,以便轻松检索特定文章 我的问题是-如何创建这些类型的标记?特别是-如何实现标签系统,为应用程序中的文章生成自定义标签 是Cocoa/SDK内置的东西,还是我必

我现在是一个绝对的iOS开发新手,所以如果这个问题看起来很简单,请原谅我

我想建立一个项目——几乎像一个记笔记的应用程序——在这个项目中,用户将能够将标签与他们的输入关联起来。我相信很多人以前都见过它——它被用在诸如hashtags之类的东西上,或者举一个iOS应用程序的例子——像DayOne这样的日志应用程序都有它。它基本上用于生成标签,以便轻松检索特定文章

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

是Cocoa/SDK内置的东西,还是我必须看一些更复杂的东西,比如核心数据(NSPredicates)来学习如何创建类似的东西

或者它是必须通过编程而不是SDK中的内置系统来完成的


谢谢。

您需要使用核心数据或SQLite3。就个人而言,我会使用SQLite,但这取决于偏好。我两者都用过,但如果你有任何SQL知识,那么我不会使用核心数据。使用CoreData创建了一个应用程序,并使用了大量NSPredicate,我发现该应用程序有很多bug,随着时间的推移会出现。 我将它改为使用SQLite,现在它运行得非常完美

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

以超级简单的形式(即,有许多方法可以在此基础上构建,使其具有可扩展性):

  • 如果每个注释都是文本,请创建一个具有文本和标记属性的对象
  • 使标记属性成为字符串数组
  • 最初将笔记存储在阵列中(存档保存到磁盘,或仅使用未保存的版本进行练习)
  • 让用户输入标记(自动标记是一个有趣的主题…)
  • 考虑使用
    标记字段
    (谷歌用于第三方实现)进行标记输入
  • 现在,当用户开始搜索标记的内容时,遍历您拥有的每个注释,并在标记数组上运行谓词。这可以使用
    NSPredicate
    完成,或者您可以确保所有标记都以小写形式保存,并且首先需要精确匹配-因此您可以使用“[tagArray containsObject:userEnteredTag]”`

    然后:

  • 看看真正的谓词
  • 查看核心数据(如果喜欢,也可以使用SQLite)

  • Cocoa或Cocoa Touch中也没有内置这样的东西,因此您必须使用核心数据。但在你这么做之前,我强烈建议你先研究一下基本的iOS开发,然后从更简单的事情开始,因为核心数据有点高级,作为新手可能会很痛苦。你问的是自动标记/从用户那里获取标记/根据数据保存标记/标记查找?@Wain。假设我有一个便笺,想用“class”这个词来标记它,然后用户将它输入到便笺中,以便以后可以在该标记下搜索它keyword@Rickye我做了一些iOS开发,但不是很多,是的,在进入核心数据之前需要一段时间,但我基本上需要它作为我在今年年底结束工作的起点。谢谢你的帮助input@shineon88如果你想从核心数据开始,我推荐斯坦福的iOS开发课程,它有一些非常好的例子,并且很好地解释了这一切是如何工作的。但不仅仅是核心数据,如果你观看整个课程并做示例,它可以将你带到一个新的层次。这可能需要一段时间,有时你可能会陷入困境,但这是值得的。这实际上并没有描述任何关于标签或标签管理的建议,它只是一个关于是否使用核心数据的评论,没有真正解释为什么…感谢你的输入。我想使用核心数据,因为它将通过iCloud同步。我听说这方面更好,但是作为一个新手,我可能完全错了。这是真的。然而,这是我的正确方向——如何为iOS程序生成这样的标签?您可以在没有核心数据的情况下使用iCloud。自动标记并不一定容易(而且与iOS没有任何特别的关系),你需要研究这个主题……如果你想使用核心数据,我使用了本教程,它为我提供了一个关于核心数据和标记的良好开端。因此,我希望它对你有所帮助。我同意@Wain的观点,因为你可能想对贴标签这一主题做进一步的研究——非常感谢!没问题。作为一项规则,你应该对有用的答案进行投票,并标记出解决问题的答案(而不仅仅是评论;-)。另外,你可能希望从以下搜索开始