- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在 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/
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x2fc30fec Cra
我是 iPhone objectiveC 开发的新手。当我运行以下方法时出现内存泄漏。 - (NSString *) getDBPath { NSArray *paths = NSSearch
我正在尝试从磁盘保存并稍后加载图像。以下内容适用于模拟器,但当我在设备上测试时,我得到 unexpectedly found nil while unwrapping an Optional valu
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我花了很长时间但没有运气解决以下问题: 我试图访问文档目录。 以下两个代码都可以完美运行。有人能告诉我有什么区别吗 最后一个对象和 objectAtIndex:0 NSArray *searchPat
我刚刚研究了检查文件是否存在的代码: NSString *path; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDi
我使用 URLConnection 从 url 下载文件并将该数据存储到文档目录中的文件中。当我收到响应时,当 didReceiveResponse: 方法被调用时,我创建文件并以这种方式移动到该文件
按照建议,我们使用以下代码来检索用户文档的路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NS
我正在尝试处理目录。不幸的是,当我运行 NSSearchPathForDirectoriesInDomains 时,我得到了一个不可写的目录。我得到的是: /Users/me/Library/Appl
我很快就秃头了,需要帮助! 我正在编写一个需要访问目录的应用程序。我希望得到一种形式的路径/Users/me/Library/Application Support/iPhone Simulator/
我使用下面的代码来获取应用程序支持目录: NSString * supportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSuppo
我正在 OS X Yosemite 上的 Xcode 6 中开发 Swift/Obj-C franken-app。我正在尝试在运行 iOS 8 的第 5 代 iPod Touch 上运行它。 几天前我
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] 我以前知道向对
我正在使用 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) 在我的应用程序中获取应用程序
我有一个录音机应用程序,其中录制的声音是这样存储的: let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.Use
为什么 NSSearchPathForDirectoriesInDomains 返回一个 NSArray 而不是一个找到路径的 NSString? 最佳答案 根据 NSSearchPathDirect
我想将图像保存到 iPhone 的用户域,因此我编写了以下代码。 let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirector
NSSearchPathForDirectoriesInDomain 函数仍然是获取 iPhone 文档目录路径的最佳方法吗?我问这个问题是因为我看到的大多数主题都是去年的,而且这似乎仍然是获取 iP
在 iOS 上查找本地可写 Library 目录位置的常用方法是 NSSearchPathForDirectoriesInDomains ,像这样: NSString *thedir = NS
有人能告诉我为什么这段代码会失败吗?调用 initWithString 后 url 为 nil。正在成功填充变量 documentsDirectory。 NSArray *paths = NSSe
我是一名优秀的程序员,十分优秀!