0

我正在尝试处理 NSDocument,因此我尝试了Text System Overview 参考中的Building a Text Editor in 15 Minutes示例。

我对建议的代码进行了一些更改,例如使用属性和综合来代替声明和定义访问器方法。

我遵循了参考文献中写的每个步骤,但无法实现第 5 步:

如果尚未打开,请双击 MyDocument.xib 以在 Interface Builder 中打开文档窗口。从 Xcode 中,将 MyDocument.h 文件图标拖到 MyDocument.xib 的文档窗口中。此步骤通知 MyDocument.xib 文件 MyDocument 对象接口现在有一个名为 textView 的出口变量。

当我编译时,它在 NSDocument 的子类中给了我以下警告:

myDocument 可能不响应 setString

MyDocument 窗口没有出现,每次我尝试执行时都会在控制台中出现此消息:

-[MyDocument 字符串]:无法识别的选择器发送到实例 0x215970

谁能建议我哪里可能错了?我正在尝试在 Snow Leopard 上运行它...检查代码,您也可以从这里下载。

4

2 回答 2

1

我正在尝试处理 NSDocument,因此我尝试了 Text System Overview 参考中的 Building a Text Editor in 15 Minutes 示例。

我对建议的代码进行了一些更改,例如使用属性和综合来代替声明和定义访问器方法。

我知道这已经很老了,但是该示例使用了 ivar NSAttributedString *mString;,因此您需要更改名称或使用以下内容:-

@property(copy, getter=string, setter=setString:) NSAttributedString *mString;
于 2012-06-16T03:59:14.380 回答
0

我认为在当前的 Xcode 工具中实际上不需要第 5 步,因为 Interface Builder 会在保存头文件时自动获取这些更改。我认为这是在 Xcode Tools 3 中添加的。

我没有看过你的项目,但听起来好像你的 MyDocument.xib 文件中有一些连接到错误的东西的插座。最大的线索是您的 MyDocument “不响应选择器setString” ...出现此消息的事实意味着这正是您的项目正在尝试做的事情。鉴于您正在使用的指南的主题,这听起来像是 -setString: 用于您的文本视图的消息正在发送到您的文档(MyDocument.xib 中的文件所有者)。

于 2010-02-10T17:17:15.453 回答