我创建了一个“注释”字段,旨在保存我想存储在自定义对象中的多个文本段落。最初,我只是使用 NSTextField 作为临时解决方案,但这不允许我滚动或有多段文本...
在IB中,我放置了一个 NSTextView (它似乎被包裹在 NSScrollView 内。)在执行我的程序时,似乎允许我在多个段落中输入文本、滚动等。总之,它看起来正是这样我想要这样。到目前为止一切顺利。
现在,我需要从此字段检索数据并将其存储在我的自定义对象中。这就是我在开发人员文档中有点迷失的地方......
我的目标相当简单:
允许用户在框中输入内容。
当用户移动到另一个字段并离开注释字段时,将框的内容存储到我的自定义对象中的变量(数组等)中。
下次查看记录时,在文本框中显示用户存储的文本。
如有任何帮助,我们将不胜感激!
最佳答案
您可以使用 NSText 定义的 -string
获取数据(例如 NSString *savedString = [aTextView string]
)
您的保存代码可以放在您的NSTextDelegate
中(读取NSTextView
的委托(delegate),因为它是直接父类(super class)),在中 - textDidEndEditing:
,当编辑完成时(例如,当用户在 View 之外单击时)或其他方法之一将调用它。
如果您清空了 TextView 或其他内容,要重新加载已保存的字符串,请在编辑开始之前使用 [textView setString:savedString]
。
NSTextDelegate 文档:here .
<小时/>当您说“将框中的内容存储到变量(数组等)中”时,我不确定您的意思是什么。您希望获得一组自定义注释吗? TextView 存储一串数据,因此存储其值的最简单方法是使用一个字符串;如果您需要一组注释,则必须将字符串值拆分为不同的段落,这应该不会太难。
关于xcode - NSTextView/NSScrollView - 有几个问题可以帮助我理解它的正确用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10704629/