首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFileHandle fileHandleForWriting返回零,错误代码24

NSFileHandle fileHandleForWriting返回零,错误代码24
EN

Stack Overflow用户
提问于 2013-08-30 21:34:52
回答 1查看 1K关注 0票数 1

我在我的应用程序中有一个方法,它将一个字符串写入文件的末尾:

代码语言:javascript
复制
-(void)log:(NSString *)str
{
  if (![[NSFileManager defaultManager] fileExistsAtPath:self.logPath])
    [[NSFileManager defaultManager] createFileAtPath:self.logPath contents:nil attributes:nil];

  NSError *err = nil;
NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingToURL:[NSURL fileURLWithPath:self.logPath] error:&err];
if (!myHandle)
    NSLog(@"Failed to write file - %@", err.localizedDescription);
  [myHandle seekToEndOfFile];
  [myHandle writeData:[str dataUsingEncoding:NSUTF8StringEncoding]];
  [myHandle closeFile];
}

它工作了一段时间,然后开始失败;fileHandleForWritingToURL返回nil。我得到的错误是NSCocoaErrorDomain错误24。但是我在任何地方都找不到任何关于这个错误的参考。谷歌帮不上忙。有人见过这个吗?我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 22:18:43

我的感觉是,NSCocoaErrorDomain映射到UNIX值,errno 24是“打开的文件太多”。仔细看看NSFileHandle类引用。另外,

[myHandle seekToEndOfFile]; [myHandle writeData:[str dataUsingEncoding:NSUTF8StringEncoding]]; [myHandle closeFile];

应该是在其他情况下

if (!myHandle)

测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18541790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档