0

我已经将一些将字符串转换为数据的代码放在一起,然后将数据放入另一个文本字段中。一切正常,但是当我运行程序并点击包含此代码的 IB Action 按钮时:

[InputData setStringValue:OutputString];

我收到此错误:

线程 1:程序接收到的信号:“SIGABRT”。

在 Xcode 底部的输出区域中,我收到以下消息:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSConcreteMutableData setStringValue:]:无法识别的选择器发送到实例 0x62507e0”

为什么会这样?警告告诉我:

未找到实例方法 -setStringValue'(返回类型默认为 id)

发生了什么事,我已经看过了,它似乎应该可以工作。我究竟做错了什么?我只是 Objective-C 的初学者。

谢谢,任何事情都值得赞赏。

4

3 回答 3

2

根据调试器,您的InputData对象是 NSMutableData 的一个实例,它没有setStringValue方法。查看您的代码并确认您正在调用您真正尝试定位的对象的方法。

于 2011-09-05T19:57:06.077 回答
1

听起来 NSData 上有一个包含 setStringValue 方法的类别。类别实现文件的名称可能类似于 NSData-extras.m。确保该文件已添加到 Xcode(如果 Xcode 已知,则该文件是正在构建的目标的一部分)。

于 2011-09-11T04:16:27.050 回答
0

假设您的 InputData 必须是 UITextField,试试这个:

[InputData setText:OutputString];
于 2011-09-05T18:57:19.783 回答