我正在调试一个旧的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
等)?
答案 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!)