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。