Ios NSOutputStream OUTPUTSTREAMTOFILEATPATPATH:path append:NO没有可用空间

Ios NSOutputStream OUTPUTSTREAMTOFILEATPATPATH:path append:NO没有可用空间,ios,xcode,cocoa,ios8,Ios,Xcode,Cocoa,Ios8,我正在使用以下内容创建输出流: [NSOutputStream outputStreamToFileAtPath:audio.filePath append:NO] 但之后,这条流是: [out hasSpaceAvailable] 返回nil 我正在模拟器上运行。硬盘有空间,我可以确认父目录存在 你知道为什么会这样吗 注意:在Xcode 5/iOS7模拟器上,相同的代码在这里没有返回nil,您需要先打开流 刚刚使用以下代码进行了测试,它可以正常工作: NSOutputStream *out

我正在使用以下内容创建输出流:

[NSOutputStream outputStreamToFileAtPath:audio.filePath append:NO]
但之后,这条流是:

[out hasSpaceAvailable]
返回
nil

我正在模拟器上运行。硬盘有空间,我可以确认父目录存在

你知道为什么会这样吗


注意:在Xcode 5/iOS7模拟器上,相同的代码在这里没有返回
nil
,您需要先打开流

刚刚使用以下代码进行了测试,它可以正常工作:

NSOutputStream *outstream = [NSOutputStream outputStreamToFileAtPath:@"/tmp/out.test" append:NO];
[outstream open];
NSLog(@"hasSpaceAvailable: %@", [outstream hasSpaceAvailable] ? @"YES" : @"NO");
产出:

hasSpaceAvailable: YES

hasspaceavable
的返回类型是
BOOL
,而不是
id
。所以应该是
YES
NO
,而不是
nil
。不管怎样,您是否打开了流?也许您应该检查
out
本身是
nil
。为了澄清,
out
不是nil。通过
po[out hasspaceavable]
从调试器中获取“nil”,这是人类可读的“NO”,您能否确认在没有
[outstream open]
的情况下它无法工作?是的,我确认,如果没有open调用,hasspaceavable将返回NO。