gpt4 book ai didi

ios - NSSearchPathForDirectoriesInDomains 给出 EXC_BREAKPOINT

转载 作者:搜寻专家 更新时间:2023-10-31 22:52:49 24 4
gpt4 key购买 nike

我正在 OS X Yosemite 上的 Xcode 6 中开发 Swift/Obj-C franken-app。我正在尝试在运行 iOS 8 的第 5 代 iPod Touch 上运行它。

几天前我从 touch 中删除了该应用程序,从那时起它就崩溃了,并且出现了一个 EXC_BREAKPOINT,我在此处设置了 pathArr:

class func feedURLs() -> NSArray
{
var items = NSMutableArray()
var pathArr: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true); // <-- here
var path = pathArr[0].stringByAppendingPathComponent("feeds")
var feeds: NSMutableArray = NSArray(contentsOfFile: path).mutableCopy() as NSMutableArray

for dict : AnyObject in feeds
{
items.addObject(NSURL(string: dict["url"] as NSString))
}
return items
}

我在 Xcode 中遇到的确切崩溃:

Thread 1: EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xe7ffdefe)

该方法最终是从( objective-c ) View Controller 中的 viewDidLoad 调用的。我没有启用任何断点。我已经强制清理了项目,删除了应用程序,重新启动了所有可见的东西,但都无济于事。

有什么想法吗?

最佳答案

调试器在错误的行上显示错误。问题实际上是该文件可能(在这种情况下不存在)存在于路径中,您必须在使用 NSArray(contentsOfFile: path) 之前确保该文件存在。

此外,如果可能,最好使用 let 而不是 var

尝试这样的事情:

class func feedURLs() -> NSArray {
var items = NSMutableArray()
let paths: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true);
let path = paths[0].stringByAppendingPathComponent("feeds")

if NSFileManager.defaultManager().fileExistsAtPath(path) {
let feeds = NSArray(contentsOfFile: path).mutableCopy() as NSMutableArray
for dict: AnyObject in feeds {
items.addObject(NSURL(string: dict["url"] as NSString))
}
}
return items
}

关于ios - NSSearchPathForDirectoriesInDomains 给出 EXC_BREAKPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24252014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com