在Swift中,NSDictionary(contentOfFile :)有时会返回nil

时间:2015-07-08 05:32:55

标签: ios swift plist uiinputviewcontroller ios8.4

我正在开发iOS键盘扩展,我从plist文件加载一些键盘数据。 我的版本是iOS 8.4 / Xcode 6.4。

但有时(不是每次),当InputViewController NSDictionary(contentsOfFile:)时,let nsdata = NSData(contentsOfFile: file, options: nil, error: &nserror) if nserror != nil { NSLog("load error: \(nserror?.description)") } 返回nil。 我经常在键盘和另一个键盘之间切换时出现。

我检查了什么:

  • 该文件不是零。
  • 文件名根本没有变化。
  • 再试一次,但没有。
  • contentsOfUrl而不是filepath。
  • plist文件中只有ascii代码。

我怀疑的是:

  • 当进程无法正常结束时出现文件问题。
  • 快速问题

感谢Aderstedt,我检查了NSError。

{{1}}
  

加载错误:可选(“错误域= NSCocoaErrorDomain代码= 256 \”操作无法完成。(NSCocoaErrorDomain错误256。)\“UserInfo = 0x17066c700 {NSFilePath = / private / var / mobile / Containers / Bundle / Application /“My Application”,NSUnderlyingError = 0x174845df0 \“操作无法完成。(NSPOSIXErrorDomain错误24 - 打开文件过多)\”}“)

我通过关闭其他关闭垃圾文件来修复此问题,以下链接也很有帮助。

on iOS/iPhone: "Too many open files": need to list open files (like lsof)

0 个答案:

没有答案