xcode - NSTextView/NSScrollView - 有几个问题可以帮助我理解它的正确用法

标签 xcode cocoa nstextview nsscrollview

我创建了一个“注释”字段,旨在保存我想存储在自定义对象中的多个文本段落。最初,我只是使用 NSTextField 作为临时解决方案,但这不允许我滚动或有多段文本...

在IB中,我放置了一个 NSTextView (它似乎被包裹在 NSScrollView 内。)在执行我的程序时,似乎允许我在多个段落中输入文本、滚动等。总之,它看起来正是这样我想要这样。到目前为止一切顺利。

现在,我需要从此字段检索数据并将其存储在我的自定义对象中。这就是我在开发人员文档中有点迷失的地方......

我的目标相当简单:

  1. 允许用户在框中输入内容。

  2. 当用户移动到另一个字段并离开注释字段时,将框的内容存储到我的自定义对象中的变量(数组等)中。

  3. 下次查看记录时,在文本框中显示用户存储的文本。

其次,有没有一种简单的方法可以检索数据并将其存储到我的自定义对象(例如 NSString 对象)中的“notes”变量中?我认为拥有多个会排除 NSString 对象作为此处的选项,但也许我错了)还是我在这里进入了一个更复杂的区域(例如必须将其存储在 NSString 对象数组中等)?

如有任何帮助,我们将不胜感激!

最佳答案

您可以使用 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/

相关文章:

cocoa - 将 NSColor 替换为 NSAttributedString 中的另一个

swift - 如果我有两个 TextView ,如何检查 NSTextView 何时更改?

ios - WatchKit 应用程序在 Apple Watch 上无限期加载,然后崩溃

ios - swift 4 : Mask not working for UIImage?

iphone - 如何更改转换 Controller 上的 UIButton 图像

cocoa : How to make a small toolbar like in Pages or Numbers?

iphone - 核心数据强制自定义映射模型/策略而不是轻量级迁移

macos - NSTextView 双视

Mac 10.6.8 上的 Xcode 4.3.1

iphone - 获取地址簿数据,它的代码在模拟器上运行但没有运行 iPhone 设备。