在OPENSTEP(YellowBox)中将字符串写入磁盘

时间:2010-09-30 17:58:31

标签: objective-c file-io nsstring openstep

我正在调试一个旧的OPENSTEP(YellowBox)应用程序,用Objective-C编写,在Windows 2000上运行,使用Project Builder构建。我可以找到在Obj-C中将字符串写入磁盘的唯一简单方法是[NSString writeToFile],这是一个Cocoa / iOS时代的方法,在我的OPENSTEP版本中似乎还没有编写编译(使用Project Builder,YellowBox for Windows 1.0,v365)。

我基本上想在异常处理程序中将异常的详细信息写入磁盘(使用NS_DURING..NS_HANDLER..NS_ENDHANDLER块)。

编辑:

现在,我收到以下警告:'NSString' does not respond to 'writeToFile:'是否可能存在其他原因(缺少#import等)?

3 个答案:

答案 0 :(得分:1)

我认为-writeToFile:*在原始OpenStep API中可用。实际上,是的,至少有一个是(http://docs.sun.com/app/docs/doc/802-2112/6i63mn65q?l=Ja&a=view#05.Classes-243)。

在任何情况下,情况越糟,您可以使用getString方法填充malloc() ed缓冲区,然后将其写入磁盘。

答案 1 :(得分:1)

我正在查看WebObjects 4.0(Project Builder v347.3)中包含的适用于Windows的Yellow Box版本。有问题的方法的签名是-writeToFile:atomically:,记录为on Apple's current developer site

我认为如果您使用此方法而不仅仅是-writeToFile:,它将按预期工作。

答案 2 :(得分:0)

如果NSString没有响应writeToFile:,那么您的选择是将该方法添加到类(您自己的实现),或者将字符串输出并将其写入文件(你自己的实现)。正如@bbum所说,它并不存在。 (嗨@bbum!)